gpt4 book ai didi

mysql - SQL 获取聊天通知

转载 作者:行者123 更新时间:2023-11-29 17:31:56 25 4
gpt4 key购买 nike

我正在与以下 SELECT 进行聊天:

SELECT CLI.id, CLI.nome, CLI.senha, CLI.email, CLI.cpf, CLI.celular,
CLI.data_nasc, CLI.genero, CLI.data_cadastro, CLI.status, CLI.id_socket,
MAX(ATEN.mensagem) AS mensagem, COUNT(ATEN.mensagem) AS novas_mensagens,
SUM(COMP.valor) AS valor_total, COMP.data AS ultima_compra,
ARQ.nome AS foto, ATEN.data_mensagem, ATEN.mensagem_visualizada

FROM ut_clientes AS CLI

LEFT JOIN ut_compras AS COMP ON COMP.id_cliente = CLI.id
LEFT JOIN ut_arquivos AS ARQ ON ARQ.id_tipo = CLI.id AND ARQ.tipo = 'ut_clientes'
LEFT JOIN ut_atendimentos AS ATEN ON ATEN.id_usuario_envio = CLI.id

WHERE ATEN.id_usuario_recebido = 59163
AND NOT EXISTS(
SELECT ATEN.id_usuario_recebido
FROM ut_atendimentos AS ATEN2

WHERE ATEN2.id_usuario_envio = ATEN.id_usuario_envio
AND ATEN2.data_mensagem > ATEN.data_mensagem
)
GROUP BY ATEN.id_usuario_envio
ORDER BY ATEN.data_mensagem DESC

我收到的数据正在填充我的 View : http://prntscr.com/jmkkpq

我正在实现通知,但我执行的 COUNT 不正确,我想知道如何正确实现 COUNT,以便每次用户更新页面时,SQL 都会获取新消息的 COUNT数据库,未读取。

我的 table :http://prntscr.com/jmkde8

谢谢大家!

最佳答案

你可以将字段写为子选择而不是左连接,就像这样......

SELECT 
CLI.id,
CLI.nome,
CLI.senha,
...
(SELECT COUNT(mensagem) FROM ut_atendimentos WHERE id_usuario_envio = CLI.id) AS novas_mensagens,
...
FROM ut_clientes AS CLI

关于mysql - SQL 获取聊天通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50570712/

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