我的sql请求有一些问题,当我比较这两个GROUP_CONTACT时,结果似乎是相反的。我尝试将order语句放入group_concat中,但没有成功。 如何在没有DISTINCT语句的GROUP_CONCAT和有DISTINCT语句的GROUP_CONCAT之间得到相同的结果。 SELECT GROUP_CONCAT(a.artiste_nom SEPARATOR '|') as 'std', GROUP_CONCAT(DISTINCT a.artiste_nom SEPARATOR '|') as 'std1'
FROM
我似乎找不到任何关于GROUP_CONCAT函数默认行为的信息,主要是当我使用其中的多个时,返回值之间的顺序是否相同? 对于本示例表和数据: CREATE TABLE `test` (
`id` int(11) NOT NULL,
`parentId` int(11) NOT NULL,
`weight` int(11) NOT NULL,
`color` varchar(7) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `tes
基本上,我有一张桌子是这样的:
FirstName, LastName, Type
Mark, Jones, A
Jim, Smith, B
Joseph, Miller, A
Jim, Smith, A
Jim, Smith, C
Mark, Jones, C
我需要做的是能够在PHP/HTML中显示这些内容,比如:
Name | Total Count Per Name | All Type(s) Per Name
看起来就像..。
马克·琼斯( Mark Jones )2- A,C
吉姆·史密斯-3- B,A,C
约瑟夫·米勒( Joseph Miller )1
吉姆·史
我有一个MySQL表,如下所示。
IP Host Label BotName
1 A good aa
1 A good aa
2 C good bb
3 C bad cc
4 D bad dd
4 D bad ee
5 E good ff
5 E good gg
我想得到如下的输出。
count Host BotName Type
2 A aa good
1 C bb good
1 C cc bad
我有一个连接4个表的查询。表是用户,user_info,电子邮件和电话。用户可以拥有一个或多个电话和电子邮件。
下面是sql查询:
SELECT ur.login_id as loginId, ue.user_email_address as email, up.phone_number as phone
FROM greydeltadb.gd_user ur
LEFT JOIN greydeltadb.gd_user_info uri ON uri.user_id=ur.user_id
INNER JOIN greydeltadb.gd_user_e
假设我有一个存储注册用户数据的表,这些记录可能有相同的注册名称,但有不同的电子邮件,如下所示:
我想要创建一个前端视图来操作这些数据,但是我不希望这些相同的名称重复显示,mysql语句查询可以输出类似的结果吗?
到目前为止,这是我所能做的结果,但它不能将相同的名称绑定到一个。
select * from `register`
where `fullname` in (
select `fullname` from `register`
group by `fullname` having coun
我有这个查询将搜索一些新闻,并返回新闻数据作为它的组,公司和类别。问题是,有一个消息可以有许多公司和组,我需要将这个结果(grupoNome和empresaNome)分别连接在一个字段中,因此使这个查询只返回一行:
这是我的“正常”查询结果:
id titulo categoriaId url categoriaNome grupoNome empresaNome
5 Teste 1 teste "Todas as Notícas" "Group 1" Company 1
5 Teste
tableName : account
date name
2016-05 john
2016-05 bob
2016-05 kate
2016-06 jake
2016-06 billy
结果是
2016-05 john, bob, kate
2016-06 jake, billy
我在试这个
select date,(select name from account where date ??? )
我试图从多个表中获取数据,这些表包含来自不同表的用户的各种详细信息。问题是,当连接它时,会显示重复的值
ID NAME DOB GENDER CITY RELATIONSHIP_STATUS ABOUT_ME PROFILE_PIC_PATH EMPLOYEER JOB EMP_START EMP_END EMP_VISIBILITY SCHOOL MAJOR EDU_START EDU_END EDU_VISIBILITY IM_ON_SITE IM_IM IM_VISIBILITY ADDRESS STATE CONTRY
我有一张这样的桌子
CREATE TABLE `users_customers`(
`user_id` VARCHAR(50) NOT NULL,
`customer_id` VARCHAR(15) NOT NULL,
PRIMARY KEY(`user_id`, `customer_id`),
INDEX user_id_index (`user_id`),
INDEX customer_index (`customer_id`),
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELE
我正在尝试连接三个表与组concat.Problem是主要的表有json格式的连接列。
查询正在运行,但一次又一次地重复连接列数据查询->
[SELECT tour_package.description AS description,
tour_package.NAME AS NAME,
GROUP_CONCAT( destination_continent.NAME ) AS continent_name,
GROUP_CONCAT( travel_style.NAME ) AS travel_style_name,
我使用的MySQL GROUP_CONCAT函数是一个聚合函数,它将组中的字符串连接成单个字符串,并具有用于此返回的各种选项 '31A', '31C', '32B', '32D', '52G' 以下是查询: SELECT
GROUP_CONCAT( DISTINCT CONCAT( '''', xCOD ) ORDER BY xCOD ASC SEPARATOR ''' , ' ) AS x_group
FROM `xtbl`
ORDER B
我正在将一个模式从Postgres转换为MySQL,并且由于显然缺少一个内置函数来聚合一组由(子)查询返回的结果,例如,Postgres的string_agg()。具体来说,假设表t有3行:
COL
"x"
"y"
"z"
在Postgres中,SELECT string_agg(col, ',') FROM t将返回与指定分隔符(即字符串x,y,z )连接的所有COL值的一行结果。我如何在MySQL中实现这一点?
我有三个主要的表:books,authors,publishers和两个连接表:authors_on_books和books_on_publishers。
我正在尝试使用以下查询获取所有数据:
select books.*,
GROUP_CONCAT(authors.id) as author_id, GROUP_CONCAT(authors.name) as author_name,
GROUP_CONCAT(publishers.id) as publisher_id, GROUP_CONCAT(publishers.name) as publisher_
当执行这个查询时,我希望te得到2个移动枚举号码和1个类别,但我得到了2个类别,我做错了什么?我想这和我加入事物的方式有关吧?
用户,可以有多个imei,类别连接将用户链接到多个类别
SELECT
u.*,
group_concat(i.mobilenumber) as mobilenumbers,
group_concat(c.name) as categories
FROM
users AS u
INNER JOIN
categoryjoin AS cj
ON
u.uid = cj.user_id
INNER JOIN
我有这个3列选项卡
PRODUCT....CATEGORY......CLASS
X............1.............II
Y............1.............II
Z............1.............II
Y............2.............II
我希望返回一个行,其中包含每个列的所有不同值:
RESULT
X Y Z 1 2 II
得到这个结果最好的方法是什么?
我正在尝试做一个mysql查询,这个查询是GROUP_CONCAT表‘shop_preview’中的所有字符串。但是,当运行以下查询时,它会根据"timesBought“的数量重复该查询。
select
`shop_items`.*,
group_concat(shop_previews.image) as images,
count(`shop_histories`.`shopId`) as `timesBought`
from `shop_items`
left join `shop_previews` on `shop_previews`.`s
我正在尝试检查在pageId IN(?,?,?)表中是否存在多个记录。
这是表结构的一个示例:
这是我尝试过的SQL查询:
SELECT chatId FROM chatParticipants GROUP BY chatId
HAVING SUM(pageId NOT IN('deb47fba9bc6936ed76e831578baa480','123')) = 0
预期行为:
如果会话已经存在,且给定(x)参与者(即具有相同的chatId值),则必须返回chatId值.
上面的SQL确实工作,有两个输入。但是,下面的查询仍然返回chatId,而它不应该
如果字符串属于一个组,则需要查询哪些连接字符串。
SELECT e.id,
ke.value,
re.value AS re_value,
GROUP_CONCAT(g.value,', ')
FROM entry e
INNER JOIN k_ele ke ON e.id = ke.fk
INNER JOIN r_ele re ON e.id = re.fk
INNER JOIN sense s ON e.i
我使用GROUP_CONCAT来连接共享相同pub_id的cate_id:
SELECT pub_id,GROUP_CONCAT(cate_id)
FROM book_mast
GROUP BY pub_id;
结果不出所料:
mysql> SELECT pub_id,GROUP_CONCAT(CATE_ID)
-> FROM book_mast
-> GROUP BY pub_id;
+--------+-----------------------+
| pub_id | GROUP_CONCAT(CATE_ID) |
+--------+--------
假设我们有一张这样的桌子
property1 property2 property3
21 a car
354 d car
76 c basket
12 a tape
是否可以运行一个不带UNION的数据返回这样的查询。
property1 has values: 21, 354, 761, 12
property2 has values: a, d, c
property3 has values: car, bask
如何确保它在已经获得值的情况下只连接一个值?比如消息里已经收到了文字“猫”,我怎么才能把“狗”不包括进来?
SELECT name, message,
concat(
if(message like '%cat%', 'cat', ''),
if(message like '%dog%', 'dog', ''),
) as intent
FROM table;
我需要多个表来连接一组结果。总体上有6个表,每个表中都有一个索引,与初始表中的primary_key匹配。
但是,当我执行查询时,它会为每个表返回每个结果的多个实例。如果我只选择一条记录,那么输出就可以了。似乎每个表都运行了多次查询,并且所有结果都连接在一起。
SELECT id,
GROUP_CONCAT(tb1.table1) AS tbl1,
GROUP_CONCAT(tb2.table2) AS tbl2,
GROUP_CONCAT(tb3.table3) AS tbl3,
GROUP_CONCAT(tb4.table4) AS tbl4,
在查询中:
SELECT
i.id, i.title, i.description,
cities.name as city,
GROUP_CONCAT(DISTINCT station.name) as station,
GROUP_CONCAT(DISTINCT p.url) as photos
FROM
items i
INNER JOIN
cities ON cities.id = i.city_id
LEFT JOIN
item_photos p ON p.item_id = i.id
LEFT JOIN
item_st