我有3代表工作: 用戶(ID,名字,姓氏,類型,禁用) 評論(ID,發件人,日期) comment_recipient(COMMENT_ID,USER_ID)查詢多個表和組按月/年
我正在嘗試查找給出或接收給定月份/年的評論的用戶的數據。我想要的結果行: 名字|姓氏|給出的評論|收到的評論|月|
年爲單個註釋可以有多個收件人(許多條目comment_recipient)
我開始關注此問題,這似乎有點類似: group-by-month-and-year-count-from-another-table
這是我目前有:
SELECT
firstName AS 'First Name',
lastName AS 'Last Name',
given AS 'Comments Given',
received AS 'Comments Received',
MONTHNAME(d_yearmonth) AS Month,
YEAR(d_yearmonth) AS Year
FROM (
SELECT
LAST_DAY(c.date) AS d_yearmonth,
u.firstName,
u.lastName,
(SELECT COUNT(*) FROM comment AS c1 WHERE c1.sender=c.sender
AND LAST_DAY(c1.date)=d_yearmonth) AS given,
'24' AS received
FROM comment AS c
JOIN comment_recipient AS cr ON cr.comment_id=c.id
JOIN user AS u ON u.id=c.sender
WHERE u.type<4 AND u.disabled=0
GROUP BY
d_yearmonth
) AS s
ORDER BY Year DESC,
MONTH(d_yearmonth) DESC
我現在只是使用'24'代表'收到',因爲我試圖在一段時間內計算出1件東西
我不需要計算每個用戶或每個月,因此如果他們在給定和收到時都返回0,他們可以被忽略