簡體   English   中英

MySQL 從表中選擇不同的值,按具有這些不同值的行數排序

[英]MySQL selecting distinct values from a table, ordering by the count of rows with those distinct values

我目前正在處理 MySQL 查詢,但我遇到了一些麻煩,正在尋求幫助。 我已經為此苦苦掙扎了一段時間,並從互聯網和不同的編碼論壇中搜索了解決方案,但是,唉,仍然一無所獲。

基本上,我有一個 MySQL 表如下:

Table name: 'data'
'id' SMALLINT(5) auto_increment
'value_1' SMALLINT(5)
'value_2' SMALLINT(5)

'value_2' 列有重復值,因此,我需要找到不同的值來處理結果。 所以我創建了一個 MySQL 查詢來做到這一點。

SELECT DISTINCT value_1 FROM data WHERE value_2!="0"

我遇到的問題是我想通過不是 id 或任何其他字段來排序我剛剛獲得的結果,而是通過在該列中具有這些特定不同值的行數('value_1')。

有人可以幫助我嗎?

您需要的是GROUP BYCOUNT

SELECT `value_1`, COUNT(`value_1`) AS `count` FROM `data` WHERE `value_2` != '0' GROUP BY `value_1` ORDER BY `count`;

有關詳細信息,請參閱: http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html

SELECT DISTINCT value_1, COUNT(*) FROM data GROUP BY value_1 ORDER BY 2 DESC;

暫無
暫無

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

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