计数3行mysql

pu3pd22g  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(310)

请帮助,我运行查询:

SELECT * 
FROM  `euclidean` 
WHERE id_latihan =  '46'
ORDER BY jarak ASC 
LIMIT 3

输出:

我想知道如何从输出中计算标签,我想输出显示如下:

+-------+---+
   | LOBBY | 2 |
   +-------+---+
   | PMB   | 1 |
   +-------+---+

任何帮助都将不胜感激。提前谢谢

fwzugrvs

fwzugrvs1#

你的问题类似于用count连接3个表。试试这个sql。这也许能解决你的问题。

SELECT 
        p.label,
        Count( t.id_latihan ) AS id_latihan 
    FROM 
        euclidean p 
        LEFT JOIN euclidean t ON p.id_latihan = t.id_latihan
    where 
        p.id_latihan = 46
    GROUP BY 
        p.label
bsxbgnwa

bsxbgnwa2#

选择标签,从中计数(*) euclidean 其中id_latihan='46'按标签分组顺序按标签限制3

8hhllhi2

8hhllhi23#

假设您希望从select中得到结果计数,您可以使用

select label, count(*)
from (
    SELECT * 
    FROM  `euclidean` 
    WHERE id_latihan =  '46'
    ORDER BY jarak ASC 
    LIMIT 3) t 
group by label

或直接形成您的查询

SELECT label, count(*)
    FROM  `euclidean` 
    WHERE id_latihan =  '46'
    GROUP BY label
    ORDER BY label

相关问题