是否有任何方法按数据按唯一的month分组,但我也需要选择no_inv和date_inv列。
Mysql查询:
SELECT no_inv, date_inv, SUM(total_unpaid) AS unpaid, SUM(total_paid) AS paid
FROM invoice
GROUP BY MONTH(date_inv)
LIMIT 3
在升级到MySQL 8.0之前,我以前使用GROUP BY不选择重复项,但现在我得到了:
1055 - SELECT list的表达式#2不是按子句分组,而是包含非聚合列'database.orders.ID‘,它在功能上不依赖于按子句分组的列;这与sql_mode=only_full_group_by不兼容,时间:0.02800s
我知道我可以按以下方式更改mysql模式:
mysql -u root -p
mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY'
我想按字母顺序显示商店名称。我有一个商店表,在那里我正在存储有关商店的所有细节,包括它的名称,标志,描述等。我希望名称将出现在一个字母组的方式。如示例中所示。还可以通过点击A C来显示商店...Z
A
--> 'Amazon'
--> 'Apple'
B
--> 'Ba...'
--> 'Be...'
<?php
$temp = array(); // would also generate a dynamic array
我计划构建一个mySQL表,它需要一个学生的名字,如下所示:
Last Name + Father's First Name Initials + First Name
示例:
Beavers L. Scott James (father has one first name, son has two first names)
Beavers L. D. Scott (father has two first names)
而不是要求填写3个输入域,我只想要一个。但问题是,我如何对其进行排序?我想先按“姓”排序,然后按“名”排序,然后按“父亲姓名”的首字母排序。所以两个名字相似的学生
有谁能解释一下甲骨文的局限性,直到为什么以下语句在MySQL中有效,但在Oracle中却收到“非组按表达式”?
SELECT order1.user_id,
order1.order_datetime,
SUM(order2.order_total)
FROM order_table order1
JOIN order_table order2 ON order1.user_id = order2.user_id
GROUP BY order1.user_id
是因为Oracle不知道如何处理order_datetime列吗?它不能
当在group by上使用多个列时,mysql的工作原理如下:
select
a.nome,
b.tb2_id,
count(c.tb2_id) as saida
from tb1 a
left join tb2 b on a.tb1_id = b.tb1_id
left join tb3 c on b.tb2_id = c.tb2_id
group by a.tb1_id, b.tb2_id
order by a.tb1_id desc
mysql如何知道它将使用哪一列对结果集进行分组?
我认为它会按顺序运行,但我将group by更改为'b.tb2_id,a
我来自MySQL,试图在SQL Server2005上编写T-SQL,我发现它完全不同。
下面是我想要做的(使用MySQL)
select sum(datapoint) as sum, date(mytimestamp) as date
from datalog
where datapoint = '27'
group by date
即获取按日期汇总和分组的数据列表。
我有一个mysql数据库,如下所示:
id | userid | timestamp | activity
Timestamp是一种datetime数据类型,我需要获取按月、日和小时分组的数据。我使用mysql和php编写脚本。
通过以下查询,我可以按月和按天完成此操作:
$query = "SELECT COUNT(id) as totals FROM security_transactions WHERE YEAR(timestamp) = 2012 GROUP BY MONTH(timestamp), DAY(timestamp)";
我需要按月、按天、按小时来做。
请
$r=mysql_query("
(
SELECT *
FROM commentsvv AS dt
WHERE FIND_IN_SET(id,'$dset')>0
AND id2='$uid'
AND status_id2='0'
ORDER BY datetimep DESC LIMIT 1)
UNION
(
SELECT *
FROM commentsvv AS dt
WHERE FIND_IN_SET(id2,'$dsetv')>0
AND id='$uid'
我正在MySQL上选修在线课程。在其中一个练习中,我必须
编写一个查询,输出美国每个州和邮政编码(邮政编码)组合中唯一的User_Guids总数,首先按州名按升序排序,其次按唯一User_Guids的总数降序排序
所以我写了这样的代码:
SELECT state, zip, COUNT(DISTINCT user_guid) AS NUM_Users
FROM users
WHERE Country="US"
GROUP BY zip
ORDER BY State ASC, NUM_Users DESC;
在我的回答中得到了5027行。
正确的代码是相同的,但有一个明显的例外:
我试图在Jquery中创建一个自动完成字段,该字段使用以下查询从mysql表中获取值:
SELECT * FROM tags WHERE tagname LIKE ?
目前,没有一次又一次地检查重复的值。为了解决这个问题,我将通过自动完成小部件中的ajax返回已经可用的值。但是,我似乎无法获得正确的mysql查询。我将选定的值作为数组传递,并在下面的查询中通过foreach循环运行。
SELECT * FROM tags WHERE tagname != :values AND LIKE ?
这不是正确的语法,所以我尝试了如下:
SELECT * FROM (SELECT * FROM tag
我有一个mysql表,其中有3列:
id intname varchartime时间戳CURRENT_TIMESTAMPflag布尔
我使用这样的查询将结果按日分组:
SELECT COUNT(DISTINCT name), DATE(time) as day FROM `table` GROUP BY day
这很好,但我真正想要的是将COUNT(DISTINCT name) WHERE FLAG = 0和COUNT(DISTINCT name) WHERE FLAG = 1放在同一个查询中,并在白天对它们进行分组。
我怎么能这么做?
嗨,我为一个区域图写了一个关于get结果的查询,我有两年的数据。我使用mysql按日期分组以获得每日结果,但当我使用逐周分组的方法时,无法找到分离两年每周数据的方法,因为它返回的周数为4,5。
我的代码是
$results=mysql_query("SELECT SUM(rate) as rate, week(rdate) as rdate
FROM cpustats
WHERE server_id='$server_id'
GROUP BY week(rdate)") or die(mysql_error());
下面是我正在使用的SQL语句。
$sql = "SELECT surname, forename, count(*) FROM people WHERE user_id='$user_id'
GROUP BY surname ORDER BY time";
$result = mysql_query($sql);
$count=mysql_num_rows($result);
if($count > 0){
while($row = mysql_fetch_array($result)) {
$i = $i +1;
$person[$i
下表按total降序列出了username。如何让每一行都列出在第一列列出的$date上拥有最高total的人?
$query = "SELECT username, datesubmitted, COUNT(1) AS total
FROM submission
GROUP BY username
ORDER BY total DESC"
$result = mysql_query($query);
$date = strtotime("January 1, 2010");
$arr = array();
echo "&l
我有下面的嵌套MYSQL查询。目前,从结果,我通过和统计标签的外观,以确定频率。我试图将MYSQL的COUNT()集成到我的查询中,但一直无法。
当前查询:
SELECT tagId
FROM refTags
WHERE postId IN (SELECT postId FROM refTags WHERE tagId = 1)
AND tagId <> 1
ORDER BY tagId ASC
所需的返回是tagId,COUNT(tagId)按COUNT(tagId) DESC排序。
我是否能够在同一个查询中完成所有这些操作,还是在返回结果后进行正确的计数?
我刚接触ggplot并坚持使用它:(我有一个数据帧,其中包含四个场景下的月平均值,如下所示
M SC1 SC2 SC3 SC4 SC5
J -18.4 9.3 -43.7 -16.1 -16.0
F -17.9 -8.8 -46.3 -17.2 14.1
M- is月份和SC*是不同场景下的值。为了将它们用于ggplot,我使用melt()将其转换为“长”数据。结果如下所示
M variable value
J SC1 -18.4
F SC1 -17.98
M SC1 -28.23
A
我有一个mysql表,如下所示:
id uid
1 a
1 b
1 c
1 d
2 a
2 b
2 c
2 e
3 b
3 c
3 e
3 f
我想按id进行分组,并建立这样一个共现矩阵:
a,b,2 -because a and b appear together in 2 id-groups (in 1 and 2)
a,c,2 -because a and c appear t
我有一个这样的表:
table a
+------+-------+
| v1 | v2 |
+------+-------+
| 1 | one |
| 2 | two |
| 3 | two |
| 4 | two |
| 5 | NULL |
| 6 | NULL |
| 7 | three |
| 8 | three |
+------+-------+
我想按列“v2”对此表中的数据进行分组...
mysql> select * from a group by v2 order by v1;
+---
下面是mysql表的布局:
+------+-------+-----+------+
| user |subject|month|change|
+------+-------+-----+------+
|Donald| Math | Jan | 3.15 |
+------+-------+-----+------+
| Mike | Math | Jan | 2.15 |
+------+-------+-----+------+
|Regan | Math | Jan | 3.00 |
+------+-------+-----+------+
|Donald| Engl |
我创建了一个包含message, sender, to, time的表,我希望按发件人分组和按时间排序这是我的代码
$query= mysql_query("SELECT * FROM `table` ORDER BY `time` GROUP BY `sender`")or die(mysql_error());
while($arr = mysql_fetch_array($query)){
$num = mysql_num_rows($query);
$msg = $arr ['message'];
echo '</br>';
我有一个access数据库,上面有名字和公司名称。我有一份长达100页的报告。我想知道有没有一种方法可以换页并在新的一页重新开始公司的字母。
----A----
Automobile company 1
Auto company 2
-----B------
Bike co 1
Bike co 2
所以on...Currently,这个报告把所有的字母放在一起,我必须手动分离它们,这是非常繁琐的。此外,在access数据库中添加以公司名称的首字母开头的新列也是不可行的。
如果有其他方法,请告诉我。
谢谢!
我试图按GROUP_CONCAT上的MYSQL请求进行分组。由这个GROUP_CONCAT生成的三个值是唯一的唯一标识符,我必须描述要应用这个组的组。
当我做以下事情时:
SELECT [...] GROUP_CONCAT(DISTINCT xxx) as supsku
[...]
GROUP BY supsku
上面写着:
不能在“supsku”上分组
非常感谢
我正在尝试从mysql表中检索记录,并将它们显示在表中。我可以对每个单元格使用如下所示的单个查询: $sql = "SELECT Sum(combined_data.`List Price`) AS total_dollar_amount, Count(combined_data.sysid) AS total_units FROM combined_data
WHERE
combined_data.`Zip Code` = 07675
AND combined_data.`Office Primary Board ID` = 'W'
AND combined_d
如何结束所有MySQL进程?或者如何解决这个错误?MAMP不会启动MySQL服务器。
120805 11:18:24 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
120805 11:18:24 [ERROR] Do you already have another mysqld server running on port: 8889 ?
120805 11:18:24 [ERROR] Aborting