gpt4 book ai didi

使用 CONCAT 的 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 14:33:15 26 4
gpt4 key购买 nike

我有两个表:

类别 => Category_ID标题说明Default_Points

交易 => Transaction_ID日期时间Giver_IDRecipient_ID积分Category_ID原因

教师奖励积分,选择一个类别(例如“积极态度和行为”)和一个原因(例如“今天表现出色”),将条目放入交易表中。

典型的categories行可能是:

INSERT INTO `categories` (`Category_ID`, `Title`, `Description`, `Default_Points`, `Groups`) VALUES
(17, 'Olympic Values', 'Please clearly state the correct Olympic Value that''s being used currently in the REASON box.', 5, '');

典型的交易行可能是:

INSERT INTO `transactions` (`Transaction_ID`, `Datetime`, `Giver_ID`, `Recipient_ID`, `Points`, `Category_ID`, `Reason`) VALUES
(50, '2011-09-07', 35023, 90236, 5, 17, 'Excellent work during PE');

我想尝试使用 MySQL 生成一个总分列表(即每个类别的 SUM(transactions.Points) ,以及一些示例原因也是如此。

我想这必须使用 CONCAT?

我需要:

  • SUM(transactions.Points) 每个类别
  • categories.title
  • 每个类别 5 个独特的transactions.reason

这可能看起来像......

Points      Title                   Sample
14252 Olympic Values Excellent work in PE!|Great display of friendship|Well done!
15532 Outstanding Effort Amazing work!|Worked so hard|Great piece!

这可能吗?

提前致谢,

最佳答案

这是您想要的 GROUP_CONCAT

你需要做这样的事情:

SELECT SUM(t.Points), 
c.title,
SUBSTRING_INDEX(GROUP_CONCAT(transactions.reasons SEPERATOR '|'), '|', 5)
FROM transactions t JOIN categories c ON (t.Category_ID=c.Category_ID)
GROUP BY c.Category_ID

关于使用 CONCAT 的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com