if in group by子句有没有办法?
我有一个查询,我想根据列的值对结果进行分组
如果列是Null,我希望结果保持原样但如果不是,我想按该值对其进行分组?你是怎样做的?
编辑:抱歉,我想我应该提一个更具体的例子
下面的列包含类别,线程和回复的ID
这是一个论坛
具有空值的那些意味着它们没有任何回复
如果回复为null,我不想将其分组
目的是计算回复和类别中的线程
我没有将回复的值设置为null,因为连接的结果,它们就是这样
| category | thread | reply |
-------------------------------
| 1 | 1 | 1 |
| 1 | 1 | 2 |
| 1 | 2 | 3 |
| 2 | 3 | 4 |
| 3 | 4 | 5 |
| 3 | 4 | 6 |
| 4 | 5 | null |
| 5 | 6 | null |
Run Code Online (Sandbox Code Playgroud)
那么结果就是
| category …Run Code Online (Sandbox Code Playgroud) 嗨首先,我已经环顾四周,但没有什么能与我想要发生的事情相匹配,所以我问是否有人可以帮助我.
我有一个URL"/ view/album/4/photo/1",我想删除最后一个参数并将其替换为某些内容.我想要做的是找到最后一个"/"并删除它之后的数字并用新值替换它.
用PHP很容易,但我不知道如何在jquery中做到这一点,因为我刚开始学习它.所以我真的很感激能帮助的人.:)
顺便说一下,这是我获取网址的代码:
action = $(form).attr('action'); //"/ view/album/4/photo/1"
我不知道如何处理变量以更改最后一个参数的值
我在创建 SQL 查询以显示一个表中的类别和子类别时遇到了很多麻烦。我有以下几列:
category_id
category_name
category_parent
category_order
Run Code Online (Sandbox Code Playgroud)
基本上我想要产生的结果是这样的
parent category 1
sub category 1
sub category 2
parent category 2
sub category 1
sub category 2
sub category 3
parent category 3
sub category 1
Run Code Online (Sandbox Code Playgroud)
如果 category_order 设置为 0,则类别或子类别应根据它们的创建顺序进行排序。为此,我计划按 id 排序。
如果可能,我想使用 UNION 以便它们已经按顺序排列,我只需要循环。谁能帮我建立一个查询。
实际上我已经有一个使用 JOIN 的,但结果并不像我想要的那样精确。
这是我之前的查询:
SELECT
fcat.id fcat_id,
fcat.name fcat_name,
fcat.order fcat_order,
fcat.parent fcat_parent,
fsub.id fsub_id,
fsub.name fsub_name,
fsub.order fsub_order,
fsub.parent fsub_parent
FROM forum_categories AS fcat
LEFT OUTER JOIN forum_categories AS fsub ON fcat.id = fsub.parent
ORDER …Run Code Online (Sandbox Code Playgroud) 由于某些原因,propel不为视图表生成模型,如果使用该reverse任务,它甚至不包括视图表的结构.所以我别无选择,只能使用自定义查询.如果模型存在,我知道该怎么做:
<?php
$con = Propel::getConnection(BookPeer::DATABASE_NAME);
$sql = "complicated query here...";
$stmt = $con->prepare($sql);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
但由于propel不会为我的视图表生成模型,我不知道该怎么做.我试过这个,但它不起作用
<?php
$con = Propel::getConnection(MyViewTable::DATABASE_NAME);
$sql = "SELECT * FROM MyViewTable";
$stmt = $con->prepare($sql);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
我真的需要这项工作.请帮忙 :)