小编Gus*_*ram的帖子

GROUP BY - 不分组NULL

我试图找出一种通过使用group by函数返回结果的方法.

GROUP BY按预期工作,但我的问题是:是否可以通过忽略NULL字段组.因此它不会将NULL组合在一起,因为我仍然需要指定字段为NULL的所有行.

SELECT `table1`.*, 
    GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1` 
WHERE (enabled = 1) 
GROUP BY `ancestor` 
Run Code Online (Sandbox Code Playgroud)

所以现在让我说我有5行,祖先字段是NULL,它返回我的行....但我想要所有5行.

mysql sql group-by

62
推荐指数
5
解决办法
7万
查看次数

在mysql中将数据从一个表插入另一个表

我想从一个表中读取所有数据并将一些数据插入到另一个表中.我的疑问是

  INSERT INTO mt_magazine_subscription ( 
      magazine_subscription_id, 
      subscription_name, 
      magazine_id, 
      status ) 
  VALUES ( 
      (SELECT magazine_subscription_id, 
              subscription_name, 
              magazine_id 
       FROM tbl_magazine_subscription 
       ORDER BY magazine_subscription_id ASC), '1')
Run Code Online (Sandbox Code Playgroud)

但我得到了一个错误

  #1136 - Column count doesn't match value count at row 1
Run Code Online (Sandbox Code Playgroud)

请帮我.

mysql insert

54
推荐指数
5
解决办法
15万
查看次数

查找字符串数组的公共前缀

我有这样一个数组:

$sports = array(
'Softball - Counties',
'Softball - Eastern',
'Softball - North Harbour',
'Softball - South',
'Softball - Western'
);
Run Code Online (Sandbox Code Playgroud)

我想找到字符串最长的公共前缀.在这种情况下,它会'Softball - '

我在想我会遵循这个过程

$i = 1;

// loop to the length of the first string
while ($i < strlen($sports[0]) {

  // grab the left most part up to i in length
  $match = substr($sports[0], 0, $i);

  // loop through all the values in array, and compare if they match
  foreach ($sports as $sport) {

     if ($match != …
Run Code Online (Sandbox Code Playgroud)

php string algorithm

14
推荐指数
5
解决办法
1万
查看次数

MySQL- GROUP和COUNT按日期

我试图弄清楚获取我需要的查询结果的正确语法.这是场景:

我正在设计一个SaaS应用程序,并有一个名为trip的表,如下所示:

table.trips  
- trip_id (pk, ai)  
- client_id (fk)  
- shop_id (fk)
- trip_date (date)
Run Code Online (Sandbox Code Playgroud)

我需要能够在每天的表格中获得每次旅行的次数(通过shop_id),然后提供每次trip_date的TRIPS数量,例如:

DATE         | TRIP SUM  
--------------------------
01-01-2011   | 3
01-02-2011   | 2  
01-03-2011   | 5
Run Code Online (Sandbox Code Playgroud)

有关正确语法的任何想法?

mysql group-by

12
推荐指数
2
解决办法
3万
查看次数

如何强制报告始终插入分页符?

我在Visual Studio 2012中创建了一个包含两个报表定义的报表.主报告部分每辆车重复一次,并且它有一个子报告,对于车辆的每次交付都会重复一次.

主要报告设计如下:

在此输入图像描述

左侧的橙色条表示我选中了所有其他元素所在的矩形.

我在其上设置了以下属性:

在此输入图像描述

我还设置Add a page break beforeAdd a page break after在包含其他元素的Tablix:

在此输入图像描述

此报表设计中没有其他Rectangle或Tablix.

我的问题是它并不总是在之前和之后进行分页.在只有少量信息的页面上,它将每辆车放在同一页面上,如下所示:

在此输入图像描述

但是当车辆长于一页时,它会溢出到下一页,而下一辆车不会在它之前添加分页符,如下所示:

在此输入图像描述

如何强制报告始终在新车辆之前插入分页符?

c# report rdlc visual-studio-2012

11
推荐指数
1
解决办法
1万
查看次数

在GROUP BY之后应用WHERE

我有一个表,其中的项目是一个线程的一部分,因此它们有一个线程ID,每个项目也有一个日期(UNIX时间戳).所以我的表看起来像(UNIX时间戳简化):

+-----------------------------+
|  id |   date  |  thread_id  |
+-----+---------+-------------+
|  1  |   1111  |      4      |
|  2  |   1333  |      4      |
|  3  |   1444  |      5      |
|  4  |   1666  |      5      |
+-----------------------------+
Run Code Online (Sandbox Code Playgroud)

我想要做的是选择线程ID,其中共享相同线程ID的所有项都小于传递的日期.因此,如果我想要所有项目早于1555(日期<1555)的线程ID,我只会期望返回线程ID 4,而不是5,即使它有一个日期小于1555的项目.所以这就是我尝试:

SELECT * FROM table WHERE date < 1555 GROUP BY thread_id ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)

我正在尝试对该查询执行的操作是按照具有最高日期值的项目的线程ID对所有项目进行分组,并从那里获取日期小于1555的项目.但是这不起作用,它仍将返回线程ID 5,因为它有一个超过1555的项目.

总而言之,我如何只选择所有项目都比特定日期更早的线程ID?

感谢您的时间!

mysql group-by

10
推荐指数
2
解决办法
2万
查看次数

MySQL - 按DESC的顺序分组

table:uuid,version,datetime

版本不是唯一的,但想法是仅获取给定uuid的最新日期时间的行

SELECT * FROM table WHERE uuid='bla' GROUP BY version ORDER BY datetime desc

...当然获取datetime asc结果 - 有没有办法将该组"预先排序"到desc,以便只获取最新版本?

mysql group-by

5
推荐指数
2
解决办法
3万
查看次数

使用 GROUP BY、ORDER BY 和 GROUP_CONCAT 进行索引

解决见下文

我正在尝试同时使用GROUP BYORDER BY在我的查询中检索按难度排序的数据。我必须使用 ,GROUP BY因为GROUP CONCAT某些表(例如“lookup_peripheral”)将多个值链接到同一个键 (content_id)。我理解为什么 MYSQL 在执行此任务时不能使用索引,因为 GROUP BY 和 ORDER BY 语句不共享相同的字段。但是,我正在寻找不需要一天即可检索结果的替代解决方案。

如果省略GROUP BYorORDER BY子句,则数据库使用索引,但结果要么缺少所有外围设备,要么未按难度排序。

我在 'lookup_difficulty' 表中FROM使用,所以我可以使用该索引对结果进行排序。这些lookup_xxxxx表存储每个允许的值,然后是其他表,例如peripheral通过 content_id 将提交链接到值。一切都参考了提交content_id。该content表包含基本信息,例如成员 ID、姓名等。

如果我的帖子不够清楚,我深表歉意。

mysql> describe peripheral;
+------------------+----------+------+-----+---------+-------+
| Field            | Type     | Null | Key | Default | Extra |
+------------------+----------+------+-----+---------+-------+
| peripheral_id    | int(2)   | NO   | PRI | NULL    |       |
| …
Run Code Online (Sandbox Code Playgroud)

mysql group-by sql-order-by

5
推荐指数
1
解决办法
2670
查看次数

如何对多个用户插入不同位置的列表进行排序/排序?

我正在制作一个应用程序,多个用户可以在其他评论之上或之下发表评论 这不是线程类型的结构.这更像是在Word文档上进行协作.我无法设计这些条目的方法.

使用mySQL和PHP,按输入时间排序不起作用,也不按评论位置排序,因为如果用户在其他评论之间发布,则位置会发生变化.我不想为每个新条目重新排序评论位置(如果有数千个条目和数十个用户做同样的事情会怎么样).

设计这个的最佳方法是什么?

php mysql sorting linked-list

5
推荐指数
1
解决办法
185
查看次数

是否可以检测ios 7中是否禁用了视差效果?

用户可以通过切换设置 - >常规 - >辅助功能:减少运动:开启来禁用视差效果.在此之后UIInterpolatingMotionEffect没有任何影响.有没有办法处理这种情况?任何帮助将不胜感激

iphone ios ios7

5
推荐指数
0
解决办法
436
查看次数