草庐IT

mysql - 按评级类型分组?

我有两个表:ab_消息用户编号标题内容问题和ab_message_rating:编号用户编号消息编号创建于更新时间ab_message与ab_message_rating是一对多关系。ab_message_rating中的每个条目都有1、2或3作为评级值。所以我想在一个查询中选择消息和所有相关的表条目。关键是,我需要在此查询评级中按值计算。例如,结果应该是:Messageabchas5entriesofrating1,7entriesofrating2,and10entriesofrating3如何在查询中做到这一点?像GroupBy和AJoin这样的东西?

mysql - 在 "key-value"表上查询和排序

我有一个问题,我的SQL太基础了,无法克服它。我有两个表:表1id(int)-(主键)电子邮件(字符)其他领域...表2id(int)-(这不是主键也不是唯一的。这是关于TABLE1.id的外键)键(字符)值(字符)其他领域...第二个表的结构是“key-value”。对于每个TABLE1.id,我在TABLE2中都有“许多”行,其中TABLE1.id==TABLE2.id。特别是我可以有以下情况:TABLE1中的一行id=10,email="albert.einstein@genius.com",(otherfieldsomitted)...TABLE2中的对应行id=10,key=

MySQL 列名作为与联结表的多对多关系的字段名

这里有点复杂。我一直在寻找一种将结果用作列名的方法,虽然这似乎可行,但我发现的所有示例都使用了非常简单的表格设计。我得到的是3个表。我们有一个“order”表,然后可以有“order_extras”。“extras”表存储额外商品的名称和价格,而“order_extras”基本上包含一个主键、订单ID和额外ID。粗略的图形表示如下:以此为例,假设“extras”表中填充了3个额外的项目,在此阶段名称和价格无关紧要。我想要做的是获取所有订单,但为每个额外项目的名称添加额外的列。如果商品已被购买(也就是在order_extras表中链接),它将显示价格,否则它将为空/空。这可能吗?我一直在

MySQL 数据透视表列数据作为行

我正在努力寻找这个MySQL问题的解决方案。我似乎无法理解如何去做。我有以下表格。Questiontable+----+-------------+|id|question|+----+-------------+|1|Isitthis?||2|Orthis?||3|Orthat?|+----+-------------+ResultsTable+----+---------+--------+|id|user_id|job_id|+----+---------+--------+|1|1|1||2|1|3||3|2|3|+----+---------+--------+Answers

mysql - 获取输出结果作为 SQL 中的列

我的table看起来像这样。+---------+---------------------|ELEMENT_NAME|ELEMENT_VALUE|+--------------+---------------+|NAME|NAME1||Address|Address1||City|City1||NAME|NAME2||Address|Address2||City|City1|+-------------------------------我需要这样的输出+---------+---------------------|NAME|Address|City|+--------------

mysql - 选择行作为 MySQL 中的列?

考虑下表“View”user_id_datecnt------------------------12011-02-1012312011-02-119912011-02-1210012011-02131222011-02-103222011-02-1143322011-02-1222222011-021333432011-02-1076632011-02-1165432011-02-124332011-021327...1002011-02-13235如您所见,该表包含每个用户(user_id)每天(_date)的网页浏览量(cnt)。我正在寻找一个将user_ids输出为列的SELE

mysql - 这可以在一个查询中吗 : SELECT x as y1 WHERE y = 1 and SELECT x as y2 WHERE y = 2?

给定一个表格idxy--------5200153000252243613516222226163我可以用得到所有y=1的x值SELECTxasy1WHEREy=1我可以用得到y=2的所有x值SELECTxasy2WHEREy=2但我想在一个查询中选择这些,这样我会得到类似的结果idy1y2--------5200300061352222这可以在一个查询中完成吗?我已经尝试了几乎所有我能想到的变体,但都是错误。 最佳答案 MySQL没有像SQLServer一样的PIVOT函数。但是您仍然可以使用MAX()和CASE()来模拟它,以连

mysql - 每行的动态数据透视表(MySql)

我有一张顾客喜欢的table:IDTypeDateAddressSSNRT124MASTER12/15/20057Hillst12345RT542MASTER06/14/20067Hillst12345HT457UNIQUE10/27/200910PARKWAY24569QA987UNIQUE08/28/201010PARKWAY24569AH825UNIQUE10/12/201210PARKWAY2456914837SINGLE05/05/20102TEDROAD1111124579MARRIED06/24/20142TEDROAD11111我想要的是为每个重复的地址和SSN创建一个

mysql - SQL:根据多个条件统计行数,单个查询

我有一个MySQL表,其中有一个名为score的列,它是一个介于0-1之间的float。我想计算分数所在的行数:大于0.1大于0.3大于0.6大于0.95我可以这样运行查询:SELECTCOUNT(*)FROMmy_tableWHEREscore>0.1并为每个值执行此操作。不过,我想在单个查询中执行此操作。因此,所需的输出格式类似于:low,medium,high,very_high20015612396有什么建议吗?我认为它涉及到casewhen,类似于:SELECTCOUNT(*),CASEWHENscore>0.1THEN"low"CASEWHENscore>0.3THEN"m

sql - 一张表,需要来自不同行/元组的多个值

我有这样的表:'profile_values'userID|fid|value-------+---------+-------1|3|joe@gmail.com1|45|203-234-23453|3|jane@gmail.com1|45|123-456-7890和:'users'userID|name-------+-------1|joe2|jane3|jake我想加入他们并在一行中包含两个值,例如:'profile_values'userID|name|email|phone-------+-------+----------------+--------------1|joe