簡體   English   中英

如何按頻繁值對“GROUP BY”查詢結果進行排序?

[英]how to sort “GROUP BY” query result by Frequent values?

我編寫了 php 應用程序,它獲取用戶瀏覽器的名稱:

+----------+------------+
| name     | browser    |
+----------+------------+
| Puffball | firefox    |
| Chirpy   | edge       |
| Whistler | chrome     |
| Slim     | firefox    |
| Claws    | edge       |
| Fluffy   | chrome     |
| Fang     | chrome     |
| Bowser   | safari     |
| Buffy    | chrome     |
+----------+------------+

我使用這個 sql 查詢來獲取帶有“GROUP BY”的瀏覽器,結果是:

$sql = "SELECT * FROM views WHERE linkid = '$string' GROUP BY browser";

array (size=4)
  0 => string 'firefox'
  1 => string 'edge'
  2 => string 'chrome'
  3 => string 'safari'

我想按頻率值對此結果進行排序,如下所示:

array (size=4)
  0 => string 'chrome'
  1 => string 'edge'
  2 => string 'firefox'
  3 => string 'safari'

坦克斯!

為了獲得按瀏覽器在輸入表中提到的頻率排序的結果,您需要添加這樣的計數,然后按計數列進行排序

SELECT *, count(browser) as frequency
FROM views 
WHERE linkid = '$string' 
GROUP BY browser
ORDER by frequency

在 Sql 查詢下面使用這個

SELECT * FROM `table` group by browser order by browser asc

使用 PHP 數組排序

排序($瀏覽器);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM