2 knuth chen knuth_chen 于 2016.03.27 13:25 提问

求正确MYSQL的写法,请大神赤脚 1C

1.问题:我一直不清楚一个SQL算出一个特定结果的写法,想向大神请教

2.代码:
SELECT tb.*,tbc.comment
from blog_tinyblog AS tb,blog_tbcomment AS tbc
where tb.user_id=tbc.user_id AND

tb.num=tbc.now_num
group by tbc.num_tiny_blog
我写的SQL是这样的,结果如图:图片说明
可这并不是我想要的结果,我希望去除重复,将comment存储为一个数组,成为只有一条结果的形式,请大神赤脚。也许可能会说用 distinct,但是不行

图片说明
现在的情况是这样,可是我发的微博不止3条,有十几条,其他几条因为没有评论就不显示出来了,我不知道怎么写啊,我想显示所有的微博和对应的评论

4个回答

wangzi_123456
wangzi_123456   2016.03.27 14:56

1.问题:我一直不清楚一个SQL算出一个特定结果的写法,想向大神请教

2.代码:
SELECT tb.*,group_concat(distinct tbc.comment)
from blog_tinyblog AS tb,blog_tbcomment AS tbc 
where tb.user_id=tbc.user_id AND

tb.num=tbc.now_num
group by tb.*

knuth_chen
knuth_chen 你这样写的话,也是只有一条结果呢
2 年多之前 回复
luochoudan
luochoudan   Ds   Rxr 2016.03.27 15:13

select distinct comment form ...
这样肯定能去除重复,但要存成一个数组的话,基础的sql语句,没见过有这功能的。

knuth_chen
knuth_chen 你好,谢谢你的回答,用GROUP_CONCAT就可以了,现在问题是我要是加了GROUP_CONCAT,那就永远只有一条结果了,我在写微博评论系统,第一次写,不太懂
2 年多之前 回复
u012921592
u012921592   2016.03.28 09:44

加了group_concat是可以的。
SELECT tb.*,GROUP_CONCAT(tbc.comment)
from blog_tinyblog AS tb
,blog_tbcomment AS tbc
where tb.user_id=tbc.user_id
AND tb.num=tbc.now_num
group by tbc.num_tiny_blog #这个条件很重要

关键在于你用哪些字段进行分组,
图片说明

u012921592
u012921592 回复亚瑟0120: 你试一下UNION ALL呢?后面接所有没有评论的用户
2 年多之前 回复
knuth_chen
knuth_chen 你好,我现在的情况是能显示所有微博对应的评论了,但是那些没有评论的微博就显示不出来,请教下怎么写
2 年多之前 回复
knuth_chen
knuth_chen   2016.03.28 22:42

> 图片说明
我是搂搂,我现在的情况是能显示所有微博对应的评论了,但是那些没有评论的微博就显示不出来,请教下怎么写

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
安装discuz! x2时提示请检查mysql模块是否正确加载
安装discuz! x2时提示请检查mysql模块是否正确加载 解决方案: 1,在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是找到php目录下的libmysql.dll,并将libmysql.dll复制到C:\ windows\system32目录中,然后重新启动Web服务。 2, 在C:\windows目录下的
【TED演讲】邦克·罗伊:从赤脚运动中学习
题记: 在印度的拉贾斯坦邦,有一所非常特别的学校。这学校主要教育农村成年人(其中很多是文盲),使他们成为他们自己村里的太阳能工程师,艺术家,牙医和医生。这所学校就叫做赤脚大学。今天,学校的创办人-邦克·罗伊-就将在这里为我们讲述这个学校的成功事迹。
mysqli、pdo操作mysql的写法
PHP code? 1 2 3 4 5 $db = new mysqli('localhost', '用户名', '口令', '数据库名'); $rs = $db->query("select * from tbl_name"); while($row = $rs->fetch_assoc()) {   //对 $row 的处理 }
易语言钓鱼源码
求大神买走 求大神买走 易语言钓鱼源码
人事资源管理系统
SSH框架+MySQL做的一个人事管理系统,需要的可以借鉴下,不足之处求大神指点
【mysql 修炼之路】如何从菜鸟成为mysql 大神?
首先MySQL大多是跑在Linux环境上的,所以我们需要学习一下Linux的知识,最基础的需要了解: ■ Linux的安装及目录结构意义 ■ 常用的Linux命令,大概20多个 ■ 网络基本知识,进一步了解网关及路由相关概念,dhcp ■ 撑握一定的Linux网络服务,如果LAMP结构,dns, ftp 等其
【备忘】 2017年5月炼数成金《MySQL DBA从小白到大神实战》视频教程
2017年5月炼数成金《MySQL DBA从小白到大神实战》视频教程
选择排序的写法
public static void Sort3(int[] array) { int minIndex = 0;//定义数组最小数字的下标 boolean isChange = false; for (int i = 0; i < array.length - 1; i++) { for (int j = i + 1; j < array.length; j++) {
如何写出正确的单例模式
本文转载自http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/#comments 有关单例模式的文章之前也看过一些,但是感觉这篇讲的最清楚,所以就转载过来 原文: 单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单
mysql_connect() 不支持 请检查 mysql 模块是否正确加载
在整合IIS和PHP时需要注意的:安装PHP(1) 解压缩下载的php-5.1.4-Win32.zip文件,并将其复制到:X:/Server_Core/PHP ;(2) 进入X:/Server_Core/PHP文件夹,将php.ini-dist 重命名为 php.ini ;(3) 打开php.ini文件,找到:extension_dir = "./"将其改为;extension_dir = "