国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

如何在 MySQL 中對具有多個 HAVING 值的多個列進行 GROUP BY?
P粉775723722
P粉775723722 2024-02-26 12:04:45
0
1
568

我正在嘗試創(chuàng)建一個 mysql 查詢來查看存儲搜索查詢的表。該查詢試圖獲取符合以下條件的所有行:

  • >= 到一個日期
  • 僅返回搜索查詢出現(xiàn) 3 次或以上的行
  • 也僅返回 2 個或更多用戶使用過搜索查詢的行

此查詢不起作用,但應(yīng)概述我正在嘗試執(zhí)行的操作:

SELECT 
  * 
FROM 
  `analytics` 
WHERE 
  `date` >= '2021-01-01' 
GROUP BY 
  `query` 
HAVING 
  COUNT(*) >= 3 
  AND 
GROUP BY 
  `user` 
HAVING 
  COUNT(*) >= 2 
ORDER BY 
  id DESC;

示例數(shù)據(jù)

id 用戶 查詢 日期
1 5 什么是狗 2021-01-01
2 5 什么是狗 2021-01-01
3 6 什么是狗 2021-01-01
4 7 什么是狗 2021-01-01
5 7 什么是兄弟 2021-01-01

示例 SQL

SELECT 
  * 
FROM 
  analytics 
WHERE 
  date >= '2021-01-01' 
GROUP BY 
  query 
HAVING 
  COUNT(*) >= 3 
  AND 
GROUP BY 
  user 
HAVING 
  COUNT(*) >= 2 
ORDER BY 
  id DESC;

使用上面查詢中設(shè)置的值,應(yīng)返回查詢“What is a dogs”的單行,所有其他列并不重要。

我知道您可以將單獨的列用逗號分隔為 GROUP BY,但我似乎無法弄清楚如何為每列設(shè)置不同的值。

P粉775723722
P粉775723722

全部回復(fù)(1)
P粉818317410

您可以在同一個 HAVING 子句中設(shè)置這兩個條件:

SELECT `query` 
FROM `analytics` 
WHERE `date` >= '2021-01-01' 
GROUP BY `query`
HAVING COUNT(*) >= 3 AND COUNT(DISTINCT `user`) >= 2;
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板