Най-популярна стойност в Mysql база данни?

C++ JAVA
Post Reply
User avatar
Th3MaN
Турист
Турист
Posts: 353
Joined: Sat Feb 24, 2007 12:03 pm

Най-популярна стойност в Mysql база данни?

Post by Th3MaN » Mon Apr 26, 2010 7:32 pm

Здравейте,

Имам база данни в която записвам редове с поле число и в полето число имам различни числа.

Трябва ми код за mysql заявка чрез която да изкарам най-често срещаното число.

Примерно имам 5 записа.

Запис 1: Число 2
Запис 2: Число 3
Запис 3: Число 2
Запис 4: Число 10
Запис 5: Число 1

В случая се вижда че числото 2 се повтраря 2 пъти демек е най-популярното сред записите. Как чрез mysql да го извада това число?

И съответно може ли да го направа да ми извади примерно 5 те най-популярни числа. Като първо излиза това което се повтаря най-много пъти после това което се повтаря по малко от него и после следващото и така до 5?


Предварително благодаря и се надявам да има някакво решение, че аз нищо не можах да намеря...

Slavei
Турист
Турист
Posts: 528
Joined: Mon Aug 21, 2006 6:04 pm

Post by Slavei » Mon Apr 26, 2010 7:59 pm

Code: Select all

select count(*) as `brojPovtoreniq`, `imeNaKolonkataSysChislata`
from `tablicataSysChislata`
group by `imeNaKolonkataSysChislata`
order by `imeNaKolonkataSysChislata` desc
limit 5

User avatar
Th3MaN
Турист
Турист
Posts: 353
Joined: Sat Feb 24, 2007 12:03 pm

Post by Th3MaN » Mon Apr 26, 2010 8:23 pm

нещо не става така... показва някакви числа който изобщо ги няма в базата... :cry:

Edit:

Сега като гледам това което вади като резултат е броя на записите. От най-голямото число на долу... Имам един запис с най-голямото пише 1 после имам с по малкото 2 и то пише 2 ама мен ми трябва да ми пише самото число от базата и да ги сортира според броя който са а не обратното.


Ако имам 5 записиса с числото 9 да покаже 9 и след това да покаже приемерно 3те записа с числото 1 като изпише 1

User avatar
HunteR
Web-tourist
Web-tourist
Posts: 3999
Joined: Sun May 28, 2006 3:26 pm
Answers: 352

Post by HunteR » Mon Apr 26, 2010 8:41 pm

Code: Select all

<?php
$pole = "chisla"; // полето от таблицата с числата
$table = "table"; // име на таблицата в базата данни
$count = 1; // колко резултата да изкара

$query = mysql_query&#40;"SELECT $pole, COUNT&#40;*&#41; as `br_ch` FROM `$table` GROUP BY `$pole` ORDER BY `br_ch` DESC LIMIT $count"&#41;;
while &#40;$row = mysql_fetch_assoc&#40;$query&#41;&#41;
&#123;
    echo $row&#91;$pole&#93;."<br />";
&#125;
?>

User avatar
Th3MaN
Турист
Турист
Posts: 353
Joined: Sat Feb 24, 2007 12:03 pm

Post by Th3MaN » Mon Apr 26, 2010 8:54 pm

Мерси HunteR стана :)

Slavei
Турист
Турист
Posts: 528
Joined: Mon Aug 21, 2006 6:04 pm

Post by Slavei » Tue May 18, 2010 10:20 am

Th3MaN wrote:Мерси HunteR стана :)
Ще съм много благодарен, ако някой ми каже разликата между моята заявка и тази на Hunter .
След като са еднакви ми е много интересно как така едната не работи ,а другата работи :D

Replace

Post by Replace » Tue May 18, 2010 12:52 pm

Slavei wrote:
Th3MaN wrote:Мерси HunteR стана :)
Ще съм много благодарен, ако някой ми каже разликата между моята заявка и тази на Hunter .
След като са еднакви ми е много интересно как така едната не работи ,а другата работи :D
Ако се вгледаш в заявката си, може би ще откриеш грешката си ... която най-вероятно си допуснал в бързината ;)

Slavei
Турист
Турист
Posts: 528
Joined: Mon Aug 21, 2006 6:04 pm

Post by Slavei » Sun May 30, 2010 1:30 pm

Replace wrote:
Slavei wrote:
Th3MaN wrote:Мерси HunteR стана :)
Ще съм много благодарен, ако някой ми каже разликата между моята заявка и тази на Hunter .
След като са еднакви ми е много интересно как така едната не работи ,а другата работи :D
Ако се вгледаш в заявката си, може би ще откриеш грешката си ... която най-вероятно си допуснал в бързината ;)
:oops: , 10х

Post Reply