select
case
when daftar ='sd' then kouta
end as a,
case
when daftar = 'smp' then kouta
end as b,
case
when daftar = 'sma' then kouta
end as c
from
ajaran
GROUP BY
tahun
结果误差
错误:列"ajaran.daftar“必须出现在GROUP子句中,或者在聚合函数行
我有一个对结果集使用bit_or的mysql查询。当没有结果集时,bit_or函数返回0(根据mysql文档,这是正确的)。
例如:
select n from t1 where a=1;
不返回任何行。
select bit_or(n) from t1 where a=1;
返回0
我需要强制最后一个查询不返回bit_or查询的任何结果,例如(在伪代码中,因为我不知道正确的调用):
select bit_or(n) unless 0 from t1 where a=1;
有人知道我是怎么做到的吗?(澄清一下,我需要一个外部程序的"no result on 0“返回值,不幸的是,这个返
我试着计算MYSQL中每一行的值。但它只计算第一行。有人能帮上忙吗
第一个查询:
SELECT A, B, C
FROM [TEST].[dbo].[TEST3]
结果:
A B C
7 8 9
1 2 NULL
1 3 4
1 NULL 1
计算每一行,但只有第一行显示为结果。查询
SELECT COUNT (A + B + C)
FROM [TEST].[dbo].[TEST3]
结果:
2
应该是7+8+9 = 22
1+2+NULL = 3
等。
我不明白为什么MySQL返回"MySQL没有产生记录“,而我使用的是EXISTS (我很乐意选择一个不产生记录的子查询):
SELECT page_ID
FROM ranks_update
WHERE EXISTS (
SELECT *
FROM ranks_update
WHERE ranking_ID = 3
AND current_rank = 1
AND rating_time < '2012-08-05 02:57:59'
AND rating_time >=
我正在使用MySQL并编写这个查询:
select gauno, count(potno)
from druide_potion
group by gauno
having count(potno) = min(count(potno))
但是Mysql显示:"#1111 -组函数的无效使用“。
在什么地方这个请求是不正确的?(当我删除HAVING时,我没有错误,但也没有预期的结果)。
谢谢。
这是我的代码:
$sql = mysql_query("select c.name, c.address, c.postcode, c.dob, c.mobile, c.email,
count(select * from bookings where b.id_customer = c.id) as purchased, count(select * from bookings where b.the_date > $now) as remaining,
from customers as c,
我遇到了类似的问题,发布在这里:
然而,所给出的解要慢一些,这是由回答者提到的。我只是在想,在不影响性能的情况下,有没有其他的解决方案?
此外,我也不明白为什么这样的查询:
SELECT
`a`, `b`, COUNT(*) as `c`
FROM `mytable`
WHERE `status` = 1
GROUP BY `a`,`b`
将返回空的结果,其中只有‘组按’部分,它将显示预期的结果0作为计数值?这可能是mysql的错误吗?
我还发现了关于mysql bug门户的讨论,类似的问题如下:
但我想,这种讨论还不够成熟,无法得到一个合适的答案。
我的问题:
这可能是mysql的错误
我有一个正在执行的SELECT查询,它有一个MAX()列和一个GROUP BY子句,除了需要返回给客户机的这个查询的结果之外,我还需要返回所有结果的总数。
基本上我的问题是这样的:
SELECT unique_id, col1, col2, MAX(col3) as col3
FROM tbl
GROUP BY col1, col2
它通常也会有一个WHERE子句。
unique_id是表的主键。
在将此数据返回给客户机时,我还指定了LIMIT和OFFSET子句来限制一次检索结果的数量。我的问题是,如果上面的查询没有LIMIT和OFFSET子句,我还需要显示它将产生的结果的总数,这样客户机就可
我在MySQL很新,所以请容忍我.
我有一个excel表,它查询MySQL database...here是查询的一部分(从VBA宏运行):
...
sql_query = "SELECT SQL_CACHE g.Id, g.Client, g.text_parsing FROM `global`.`tbl_cots` AS g WHERE g.Client LIKE '" & strClient & "%' GROUP BY g.Id;"
With rsPubs
.ActiveConnection =
我和MySQL一起工作。让我们假设我有一个表test(id, x) --数据类型并不重要--下面的查询
SELECT id
FROM test
WHERE F(x) <= 1000;
此外,让我们假设F是一个“或多或少复杂”的函数。现在,如果将查询更改为:
SELECT id, F(x)
FROM test
WHERE F(x) <= 1000;
也就是说,我需要F(x)的结果不仅适用于WHERE条件,还需要作为SELECT子句中的输出。我能安全地假设MySQL足够聪明,只计算每一行一次吗?
(如果需要这些信息,在我的具体情况下,我使用MySQL空间函数ST_WITHIN、ST_G
当我执行查询(使用Group )以获得结果时,Mysql返回以下错误
错误代码: 1055
SELECT list的表达式#1不是按子句分组,而是包含非聚合列'project.ws_images.wi_id‘,它在功能上不依赖于GROUP子句中的列;这与sql_mode=only_full_group_by不兼容。
我想通过月和小组取得结果。我已经搜索过了,并找到了一些解决办法,但仍然面临着这个问题。我已经试过了
SELECT * FROM `ws_images` WHERE wi_type = 'image' GROUP BY MONTH(date_added
如果我用:
SELECT Sec_to_Time(Sum(Time_to_Sec(time_utilize))) as week_time FROM attendance WHERE staff_id = 'ahmed'
它工作得很好,但当我使用:
SELECT Sec_to_Time(Sum(Time_to_Sec(time_utilize))) as week_time FROM attendance WHERE staff_id = 'ahmed' LIMIT 1, 7
它说:
MySQL返回一个空的结果集(即零行)。(查询耗时0.0004秒)
虽然出
我重写了一个从Mysql到oracle的查询,而Mysql给了我一行,oracle给出了倍数,只是想知道为什么?
Mysql查询
select me.col1,
me.col2,
me.col3,
min(col3) as me_col3 ,
group_concat(col2) col4,
from
my_sql_table me
group by me.col2
order by col3
重写为Oracle
select
me.col1,
me.col2,
me.
我想要写一个sql查询,如果特定列的和为零,那么结果将被检索。我尝试了如下:(我只写了检查部分,因为错误只会出现在这个部分)。
query=.... WHERE SUM(column1)='0'
coumn1有整数数据类型。我得到了以下错误:
java.sql.SQLException: Invalid use of group function
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
任何帮助都是非常感谢的。谢谢。
我有一个在MySQL上运行良好的查询,现在不在PostgreSQL上了--这是一个查询:
SELECT "users".*
FROM "users"
JOIN "favorites" ON "favorites"."user_id" = "users"."id"
WHERE users.id NOT IN (2)
AND favorites.favoritable_id IN (1)
GROUP BY favorites.user_id
OR
我使用的是MariaDB,下面的子查询返回结果,但是如果我添加最后一行,即"GROUP BY linked_item“,它将返回错误”请查看与您的MySQL服务器版本对应的手册“。
不确定为什么使用GROUP BY是错误的。我需要从子查询结果中为每个唯一的linked_item输出一个totalsum -任何实现此结果的方法都可以。
此代码返回正确的两列子查询结果
SELECT linked_item, totalsum
FROM
(SELECT a.linked_item, a.total_actual_cost as totalsum FROM pl_detail a
WHER
最近,我将我的MySQL服务器升级到5.7版,下面的示例查询不起作用:
SELECT *
FROM (SELECT *
FROM exam_results
WHERE exam_body_id = 6674
AND exam_date >= DATE_SUB(CURDATE(), INTERVAL 1 WEEK)
AND subject_ids LIKE '%4674%'
ORDER BY score DESC
) AS top_scores
GROUP BY user
由于某些原因,MySQL不接受以下查询:
SELECT `tasks`.* FROM `tasks` INNER JOIN `task_status_updates` ON `task_status_updates`.`task_id` = `tasks`.`id` GROUP BY task_status_updates.task_id HAVING `task_status_updates`.`status` = 0
然而,在SQLite中运行完全相同的查询会产生预期的结果( tasks的列表,其上一个task_status_update的状态为0)。由于SQLite和MySQL的不同,R
我正在使用Flask应用程序中的python运行一个SQL查询。该查询连接两个表并执行聚合。
Table1
id name val
0 A 10
1 B 20
2 C 10
Table2
id cat price
0 1 10
0 2 20
1 1 10
1 2 10
2 1 10
虽然查询运行良好,但性能是一个问题。提取数据花费的时间太长了。结果包括大约5000行数据。
# mysql connection
import pymysql
from sqlalchemy import create_engine
user = '
我正在构建连接到ORACLE 11G DB的REST API。API使用JSON将数据发送到Android客户端。为了获取数据,我使用了JpaRepository和@Query注释。
我想为图表提供数据:按年计算的合同数量。
我有原生SQL查询:
select aa.ROK, count(aa.NUMER_UMOWY)
from (select distinct NUMER_UMOWY, ROK from AGR_EFEKTY) aa
group by aa.ROK order by aa.ROK
使用SQL Developer查询的结果如下所示:
我尝试使用原生查询获取结果:
我有一个Laravel查询,当我们的数据库使用我们的MySQL DB时,它可以工作,但当我切换到新的PostgreSQL DB时,它停止工作。
我使用Laravel的group by函数,如下所示:
$this->crud->groupBy('leads.id')
翻译成mysql的整个查询如下:
select count(*) as aggregate
from (select leads.* from leads
where leads.club_id in ('TR71') and
leads.deleted_at is null GRO
我有一个名为Table1的MySQL表 ? 结果可以是通过,也可以是失败。我想计算每个id的通过率。 结果必须是基于公式的下表:对于每个id,计数通过/给定id的总计数。例如,id 2有2次通过,2次失败,因此通过百分比= 2/4 ? 下面的Sql查询给出了错误的结果 SELECT id,COUNT(Result) * 100 / (SELECT COUNT(Result) FROM aa WHERE Result = 'Pass') as Percent
FROM aa
GROUP BY id 请帮帮忙
我有一个MySQL数据库,可以在该数据库中执行以下查询:
mysql> SELECT Name, Value from info WHERE ID = 110506;
+-------+-----------+
| Name | Value |
+-------+-----------+
| start | 228196 |
| stop | 228318 |
| fwd | 0 |
+-------+-----------+
3 rows in set (0.00 sec)
我正在试图构造一个查询,结果将是
+--------+-----
在MySQL子查询中使用GROUP BY返回在单独调用GROUP BY查询时未出现的结果。
这个例子是我所能做的最简单的例子。
我觉得我缺少在子查询中使用GROUP的一些基本内容,但还没有找到解决这个特定问题的现有问题或教程。
首先,构建表:
CREATE TABLE Person (
Id INT
Email VARCHAR(20)
);
INSERT INTO Person VALUES (1, "a@b.com");
INSERT INTO Person VALUES (2, "c@d.com");
INSERT INTO Per
我对MySQL有一个奇怪的问题,想看看社区有没有什么想法:
我有一个'tbl‘表,它包含
____________
| id | sdate |
我正在尝试执行这个查询:
select id, max(sdate) as sd from tbl where id in(123) group by id;
这不会返回任何结果。但是,此查询:
select id, sdate from tbl where id in(123);
返回许多带有id和日期的结果。
为什么top查询不能产生结果?
我现在用红移。那么Id想要运行查询,比如
SELECT to_char(created_at, 'HH24') AS hour , to_char(created_at, 'YYYY-MM-DD HH24') AS tmp FROM log GROUP BY tmp;
这会返回错误,当我在mysql中这样做时,它似乎是很好的。此错误是
ERROR: column "log.created_at" must appear in the GROUP BY clause or be used in an aggregate function
当我更改
在更新到MySQL 5.7.11之后,我们得到了一些与sql_mode相关的错误,包括only_full_group_by。
研究表明,我们可以将其关闭,但最好知道如何使用结构合理的SQL语句来实现预期目标。
错误:
#1140 -在没有GROUP BY的聚合查询中,选择列表的表达式#1包含非聚合列‘tbllideshow.slideImage’;这与sql_mode=only_full_group_by不兼容
查询:
SELECT
tblslideshow.slideImage,
COUNT(tblslideshow.slideID) AS countVal
FROM
t
下面是我的问题:
$query = "
SELECT *
FROM Teacher t
INNER JOIN Session s ON t.TeacherId = s.TeacherId
JOIN Grade_Report gr ON s.SessionId = gr.SessionId
WHERE
('".mysql_real_escape_string($sessionid)."' = '' OR gr.SessionId = '".m