草庐IT

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

MySQL 查询和数据透视表

我的MySQL数据库有以下列标题:month,typeOfWork,totalHours我有兴趣根据typeOfWork和月份显示结果。例如,所有typeOfWork条目将显示在左侧的第一列中,并且每个字段将在每个列的指定月份中汇总该特定typeOfWork。因此,我的SQL数据透视表语句目前是:SELECTIFNULL(typeOfWork,'Total')ASTypeOfWork,SUM(IF(month='JAN',totalHours,NULL))ASJAN,SUM(IF(month='FEB',totalHours,NULL))ASFEB,SUM(IF(month='MAR'

php - 具有多个计数的 MySQL 数据透视表

这是我的MySQL表的快照:是否可以编写一个查询来获得像输出这样的数据透视表... 最佳答案 怎么样SELECTurl_host,SUM(CASEWHENpost_id=-1THEN1ELSE0END)aspost_id_minus1,SUM(CASEWHENpost_id=0THEN1ELSE0END)aspost_id_0,etc...FROMYOUR_TABLEGROUPBYurl_host 关于php-具有多个计数的MySQL数据透视表,我们在StackOverflow上找到一个