为什么下面的查询在空数据库上的MySQL 5.6中没有返回任何结果?
SELECT COUNT(*)
FROM a_sec_banns
WHERE ip = 'not-exist-ip'
GROUP BY ip
HAVING max(date_created) <= '10-10-2014' or count(*) > 3;
桌子的结构是这样的:
CREATE TABLE `a_sec_banns` (
`ID` bigint(20) NOT NULL AUTO_INCREMENT,
`DATE_CREATED` datetime D
我有一个这样的表:
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;
+---
我在计算所有行的时候遇到了问题。我的问题是:
SELECT info.pid, Name, Addr, Phone, GROUP_CONCAT(URL) as URL
FROM info, images WHERE info.pid = images.pid AND place='$kraj' GROUP BY info.pid
我不能使用mysql_num_rows,因为即使没有结果,group_concat()也会创建一行(空值)。
我尝试将COUNT()放在query中:
...GROUP_CONCAT(URL) as URL, COUNT(info.pid) as nu
关于group by发生了什么,我有一个问题。
例如:
select COUNT(*)
from
(select 0 c1) t1
where 0 = 1
group by t1.c1
结果-没有记录
select COUNT(*)
from
(select 0 c1) t1
where 0 = 1
--group by t1.c1
结果-0
为什么?!
我需要查找存在于表A中但不存在于表B中的项。现在,在MySQL中执行如下所示的连接将非常简单
select * from A
left join B on A.key=B.key
where B.key is null
但是,由于某些原因,这在MSSQL中不起作用。我创建了不带where子句的查询,以查看所有结果,并且我只看到匹配项,而不是空值。你知道为什么这不起作用吗?
我知道我也可以使用"when not exists“,但我想知道with join不起作用的原因。
我正在添加代码供您审阅
select Absences.CustomerID, b.*
from (
对于查询:
SELECT
MIN(main_table.id) as id,
COALESCE(used_options.used, 0) AS used,
COALESCE(forced_options.force_option, 0) AS force_option
FROM main_table
LEFT JOIN (
SELECT
used_options.id id,
1 AS used
FROM main_
我正在尝试编写一个简短的SQL查询(在MySQL工作台中),如果一个主题被多个学生失败,它将输出失败的次数。
以下是我的尝试:
SELECT CONCAT(area, yearlevel, code) AS SubjectCode, Count(student)
FROM StudentTakesSubject
WHERE result < 50 AND result <> NULL
GROUP BY code
HAVING Count(Student) > 1;
问题是,它一直在输出包含空记录的计数,即使我在查询中指定了不对它们进行计数(或者至少我认为我做了.)。
编
我正在尝试执行计算。我有一个包含所需数量(d.QtyNeeded)的捐赠(d)表,我需要通过从捐赠者表中提取已填充数量(qtyfilled)来确定仍需要的物品数量。并不是每个捐赠都有捐赠者,所以我需要一个条件语句来处理空值,这样总和就可以工作了。当我尝试编译时,我得到一个错误:*运算符'-‘不能应用于'int’和'bool‘类型的操作数。我在Linq上还不是很好,我错过了什么,或者有更好的方法?
QtyOpen = d.QtyNeeded - (from dv in db.Donors
select
我正在使用的内容:,Ubuntu 12上最新的MySQL。
设置:假设我有一个表"EmployeePayment“,其中包含”名称“和”小时“。假设我已经用值填充了它。
问题:当我使用命令时,
select * from EmployeePayment where Name in ('');
如我所料,我得到了一套空的。但是,当我用
select * from EmployeePayment where Name in ('' or '');
我会把整张桌子还给你。而且,如果我挑挑拣拣,在命令中
select Name, SUM(Hour
我最近写了一个调查应用程序,它已经完成了它的工作,并且收集了所有的数据。现在我必须分析数据,我遇到了一些时间问题。我必须找出有多少人选择了哪个选项并将其全部显示出来。
我正在使用这个查询,它确实完成了它的工作:
SELECT COUNT(*)
FROM survey
WHERE users = ? AND table = ? AND col = ? AND row = ? AND selected = ?
GROUP BY users,table,col,row,selected
如"?“所示我使用MySQLi (php语言)在需要的时候获取数据,但我担心这会导致它变得如此缓慢
域类:
class Employee {
.
.
Boolean syncFlag
Date dateLastModified
}
MySQL:
Column name Data type Default value
---------------------------------------------------------------------
我不知道这是怎么回事。我已经创建了一个MySQL视图,并从4个不同的表中获取一些数据,但它似乎只返回了第一条记录。
CREATE OR REPLACE VIEW request_view AS
SELECT
TRequest.id,
TRequest.minutes_required,
TRequest.expires_at,
User.name AS author,
TRequest.abstract_text,
TRequest.full_text,
TGroup.name AS tgroup,
SUM(TOrder.mi
我有一张叫supplier的桌子
CREATE TABLE supplier_invoices (
id INT PRIMARY KEY AUTO_INCREMENT,
supplier_id INT NOT NULL,
date DATE NOT NULL,
invoice_no INT NOT NULL,
dr_amount DOUBLE NOT NULL,
cr_amount DOUBLE NOT NULL,
balance DOUBLE NOT NULL);
它包含上述字段。我想根据该表中的数据创建一份老化报告。0~30天、31~60天、61~ 90天、90天及以上的天数差
我不是在问这两个条款有什么区别。我理解WHERE子句在表中的行中进行搜索,that子句在select语句中分组的项中搜索。
示例:
SELECT x, Count(*) FROM table WHERE x IS NOT NULL GROUP BY x HAVING Count(*) > 1 ORDER BY x
返回与
SELECT x, Count(*) FROM table GROUP BY x HAVING x <> NULL AND Count(*) > 1 ORDER BY x
WHERE子句可以在每次都
我希望检索表A中我的COLUMNA中除1、2、3、4、5之外的所有行。 SELECT * FROM TABLEA WHERE COLUMNA NOT IN (1,2,3,4,5) 但这也消除了COLUMNA中具有空值的行。 我不想消除空值行,而是希望在结果集中包含这些行。 或者,我可以尝试下面的查询来获得相同的结果 SELECT * FROM TABLEA WHERE COLUMNA NOT IN (1,2,3,4,5) OR COLUMNA IS NULL. 但是我想知道,为什么要加上这个OR条件呢?
当我使用mysql时,我得到了这个错误,请任何人给我解释一下。下面的A,B,C之间有什么不同?
A) select * from table where a=a group by(b) // this execute & work fine
B) select * from table where a=a group by b,c // this execute * work fine
c) select * from table where a=a group by (b,c) // this is giving an error - error is operand should
我有一个MySQL请求:
SELECT *
FROM candy
RIGHT JOIN candytype ON candy.user_id = 1 AND candytype.candy_id = candy.id;
在我的DB中,所有的内容都会显示出来,但是我看到相同的糖果行显示了两次,因为一个糖果有两种类型。是否有一种方法,如果它出现一次,MySQL就不会在结果中再次显示它?
这是无用的,我认为它会使我的DB工作得更好。我只是想找个办法过滤掉..。
下面的代码运行得很好。它将MySQL数据库中的项打印为HTML表。但是,数据库中有第一列(变量"site")为空的条目。如何使此表排除"site“为空的行/条目?
$result=mysql_query("SHOW TABLES FROM database LIKE '$find'")
or die(mysql_error());
if(mysql_num_rows($result)>0){
while($table=mysql_fetch_row($result)){
print "<p class=\"
如何为MySQL编写一个查询,以过滤出总薪酬小于零的地方。我尝试过使用'HAVING‘的不同命令,但我找不出正确的语法。
这是我的命令:
SELECT tickets.idno, tickets.PAY, tickets.MATERIAL
FROM tickets
WHERE ( tickets.PAY <> 0 OR tickets.MATERIAL <> 0 ) AND tickets.DISTRICT = 'HO' AND tickets.DATEPAID IS NULL
ORDER BY tickets.NAME
使用此结果集