replace content after do a query
I need to replace all possible results equal '0' to NULL value.
What's the best option? Use a case statement or replace command in this case:
SELECT name, COUNT(IF(stat='open',1, NULL)) 'open',
COUNT(IF(stat='close',1, NULL)) 'close',
COUNT(IF(stat='all',1, NULL)) 'all',
COUNT(IF(stat='reopen',1, NULL)) 'reopen',
COUNT(IF(stat='finish',1, NULL)) 'finish'
FROM dashboard group by name order by name = 'Party' desc
+----------+------+-------+-----+--------+--------+
| name | open | close | all | reopen | finish |
+----------+------+-------+-----+--------+--------+
| Party | 21 | 0 | 0 | 0 | 0 |
+----------+------+-------+-----+--------+--------+
mysql sql
add a comment |
I need to replace all possible results equal '0' to NULL value.
What's the best option? Use a case statement or replace command in this case:
SELECT name, COUNT(IF(stat='open',1, NULL)) 'open',
COUNT(IF(stat='close',1, NULL)) 'close',
COUNT(IF(stat='all',1, NULL)) 'all',
COUNT(IF(stat='reopen',1, NULL)) 'reopen',
COUNT(IF(stat='finish',1, NULL)) 'finish'
FROM dashboard group by name order by name = 'Party' desc
+----------+------+-------+-----+--------+--------+
| name | open | close | all | reopen | finish |
+----------+------+-------+-----+--------+--------+
| Party | 21 | 0 | 0 | 0 | 0 |
+----------+------+-------+-----+--------+--------+
mysql sql
Your query makes no reference to equalling 0. What are you trying to do? Where is this going in your query?
– fubar
Nov 14 '18 at 23:21
like to change '0' to NULL result
– Guif If
Nov 14 '18 at 23:28
add a comment |
I need to replace all possible results equal '0' to NULL value.
What's the best option? Use a case statement or replace command in this case:
SELECT name, COUNT(IF(stat='open',1, NULL)) 'open',
COUNT(IF(stat='close',1, NULL)) 'close',
COUNT(IF(stat='all',1, NULL)) 'all',
COUNT(IF(stat='reopen',1, NULL)) 'reopen',
COUNT(IF(stat='finish',1, NULL)) 'finish'
FROM dashboard group by name order by name = 'Party' desc
+----------+------+-------+-----+--------+--------+
| name | open | close | all | reopen | finish |
+----------+------+-------+-----+--------+--------+
| Party | 21 | 0 | 0 | 0 | 0 |
+----------+------+-------+-----+--------+--------+
mysql sql
I need to replace all possible results equal '0' to NULL value.
What's the best option? Use a case statement or replace command in this case:
SELECT name, COUNT(IF(stat='open',1, NULL)) 'open',
COUNT(IF(stat='close',1, NULL)) 'close',
COUNT(IF(stat='all',1, NULL)) 'all',
COUNT(IF(stat='reopen',1, NULL)) 'reopen',
COUNT(IF(stat='finish',1, NULL)) 'finish'
FROM dashboard group by name order by name = 'Party' desc
+----------+------+-------+-----+--------+--------+
| name | open | close | all | reopen | finish |
+----------+------+-------+-----+--------+--------+
| Party | 21 | 0 | 0 | 0 | 0 |
+----------+------+-------+-----+--------+--------+
mysql sql
mysql sql
edited Nov 14 '18 at 23:27
Guif If
asked Nov 14 '18 at 23:10
Guif IfGuif If
459
459
Your query makes no reference to equalling 0. What are you trying to do? Where is this going in your query?
– fubar
Nov 14 '18 at 23:21
like to change '0' to NULL result
– Guif If
Nov 14 '18 at 23:28
add a comment |
Your query makes no reference to equalling 0. What are you trying to do? Where is this going in your query?
– fubar
Nov 14 '18 at 23:21
like to change '0' to NULL result
– Guif If
Nov 14 '18 at 23:28
Your query makes no reference to equalling 0. What are you trying to do? Where is this going in your query?
– fubar
Nov 14 '18 at 23:21
Your query makes no reference to equalling 0. What are you trying to do? Where is this going in your query?
– fubar
Nov 14 '18 at 23:21
like to change '0' to NULL result
– Guif If
Nov 14 '18 at 23:28
like to change '0' to NULL result
– Guif If
Nov 14 '18 at 23:28
add a comment |
2 Answers
2
active
oldest
votes
You can use the NULLIF()
function.
SELECT name,
NULLIF(COUNT(IF(stat='open',1, NULL)), 0) 'open',
NULLIF(COUNT(IF(stat='close',1, NULL)), 0) 'close',
NULLIF(COUNT(IF(stat='all',1, NULL)), 0) 'all',
NULLIF(COUNT(IF(stat='reopen',1, NULL)), 0) 'reopen',
NULLIF(COUNT(IF(stat='finish',1, NULL)), 0) 'finish'
FROM dashboard
group by name
order by name = 'Party' desc
NULLIF()
returns the first value unless it's equal to the second value, then it returns NULL
.
BTW, you can simplify COUNT(IF(stat='xxx', 1, NULL))
to SUM(stat='xxx')
.
very thanks!!!!!!
– Guif If
Nov 14 '18 at 23:41
add a comment |
One method uses NULLIF()
:
SELECT name,
NULLIF(SUM(stat = 'open'), 0) as open,
NULLIF(SUM(stat = 'close'), 0) as close,
NULLIF(SUM(stat = 'all'), 0) as all,
NULLIF(SUM(stat = 'reopen'), 0) as reopen,
NULLIF(SUM(stat = 'finish'), 0) as finish
FROM dashboard
GROUP BY name
ORDER BY name = 'Party' desc;
Another uses CASE
:
SELECT SUM(CASE WHEN stat = 'open' THEN 1 END) as open,
. . .
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53310130%2freplace-content-after-do-a-query%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use the NULLIF()
function.
SELECT name,
NULLIF(COUNT(IF(stat='open',1, NULL)), 0) 'open',
NULLIF(COUNT(IF(stat='close',1, NULL)), 0) 'close',
NULLIF(COUNT(IF(stat='all',1, NULL)), 0) 'all',
NULLIF(COUNT(IF(stat='reopen',1, NULL)), 0) 'reopen',
NULLIF(COUNT(IF(stat='finish',1, NULL)), 0) 'finish'
FROM dashboard
group by name
order by name = 'Party' desc
NULLIF()
returns the first value unless it's equal to the second value, then it returns NULL
.
BTW, you can simplify COUNT(IF(stat='xxx', 1, NULL))
to SUM(stat='xxx')
.
very thanks!!!!!!
– Guif If
Nov 14 '18 at 23:41
add a comment |
You can use the NULLIF()
function.
SELECT name,
NULLIF(COUNT(IF(stat='open',1, NULL)), 0) 'open',
NULLIF(COUNT(IF(stat='close',1, NULL)), 0) 'close',
NULLIF(COUNT(IF(stat='all',1, NULL)), 0) 'all',
NULLIF(COUNT(IF(stat='reopen',1, NULL)), 0) 'reopen',
NULLIF(COUNT(IF(stat='finish',1, NULL)), 0) 'finish'
FROM dashboard
group by name
order by name = 'Party' desc
NULLIF()
returns the first value unless it's equal to the second value, then it returns NULL
.
BTW, you can simplify COUNT(IF(stat='xxx', 1, NULL))
to SUM(stat='xxx')
.
very thanks!!!!!!
– Guif If
Nov 14 '18 at 23:41
add a comment |
You can use the NULLIF()
function.
SELECT name,
NULLIF(COUNT(IF(stat='open',1, NULL)), 0) 'open',
NULLIF(COUNT(IF(stat='close',1, NULL)), 0) 'close',
NULLIF(COUNT(IF(stat='all',1, NULL)), 0) 'all',
NULLIF(COUNT(IF(stat='reopen',1, NULL)), 0) 'reopen',
NULLIF(COUNT(IF(stat='finish',1, NULL)), 0) 'finish'
FROM dashboard
group by name
order by name = 'Party' desc
NULLIF()
returns the first value unless it's equal to the second value, then it returns NULL
.
BTW, you can simplify COUNT(IF(stat='xxx', 1, NULL))
to SUM(stat='xxx')
.
You can use the NULLIF()
function.
SELECT name,
NULLIF(COUNT(IF(stat='open',1, NULL)), 0) 'open',
NULLIF(COUNT(IF(stat='close',1, NULL)), 0) 'close',
NULLIF(COUNT(IF(stat='all',1, NULL)), 0) 'all',
NULLIF(COUNT(IF(stat='reopen',1, NULL)), 0) 'reopen',
NULLIF(COUNT(IF(stat='finish',1, NULL)), 0) 'finish'
FROM dashboard
group by name
order by name = 'Party' desc
NULLIF()
returns the first value unless it's equal to the second value, then it returns NULL
.
BTW, you can simplify COUNT(IF(stat='xxx', 1, NULL))
to SUM(stat='xxx')
.
answered Nov 14 '18 at 23:36
BarmarBarmar
434k36257359
434k36257359
very thanks!!!!!!
– Guif If
Nov 14 '18 at 23:41
add a comment |
very thanks!!!!!!
– Guif If
Nov 14 '18 at 23:41
very thanks!!!!!!
– Guif If
Nov 14 '18 at 23:41
very thanks!!!!!!
– Guif If
Nov 14 '18 at 23:41
add a comment |
One method uses NULLIF()
:
SELECT name,
NULLIF(SUM(stat = 'open'), 0) as open,
NULLIF(SUM(stat = 'close'), 0) as close,
NULLIF(SUM(stat = 'all'), 0) as all,
NULLIF(SUM(stat = 'reopen'), 0) as reopen,
NULLIF(SUM(stat = 'finish'), 0) as finish
FROM dashboard
GROUP BY name
ORDER BY name = 'Party' desc;
Another uses CASE
:
SELECT SUM(CASE WHEN stat = 'open' THEN 1 END) as open,
. . .
add a comment |
One method uses NULLIF()
:
SELECT name,
NULLIF(SUM(stat = 'open'), 0) as open,
NULLIF(SUM(stat = 'close'), 0) as close,
NULLIF(SUM(stat = 'all'), 0) as all,
NULLIF(SUM(stat = 'reopen'), 0) as reopen,
NULLIF(SUM(stat = 'finish'), 0) as finish
FROM dashboard
GROUP BY name
ORDER BY name = 'Party' desc;
Another uses CASE
:
SELECT SUM(CASE WHEN stat = 'open' THEN 1 END) as open,
. . .
add a comment |
One method uses NULLIF()
:
SELECT name,
NULLIF(SUM(stat = 'open'), 0) as open,
NULLIF(SUM(stat = 'close'), 0) as close,
NULLIF(SUM(stat = 'all'), 0) as all,
NULLIF(SUM(stat = 'reopen'), 0) as reopen,
NULLIF(SUM(stat = 'finish'), 0) as finish
FROM dashboard
GROUP BY name
ORDER BY name = 'Party' desc;
Another uses CASE
:
SELECT SUM(CASE WHEN stat = 'open' THEN 1 END) as open,
. . .
One method uses NULLIF()
:
SELECT name,
NULLIF(SUM(stat = 'open'), 0) as open,
NULLIF(SUM(stat = 'close'), 0) as close,
NULLIF(SUM(stat = 'all'), 0) as all,
NULLIF(SUM(stat = 'reopen'), 0) as reopen,
NULLIF(SUM(stat = 'finish'), 0) as finish
FROM dashboard
GROUP BY name
ORDER BY name = 'Party' desc;
Another uses CASE
:
SELECT SUM(CASE WHEN stat = 'open' THEN 1 END) as open,
. . .
answered Nov 15 '18 at 0:21
Gordon LinoffGordon Linoff
790k35314418
790k35314418
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53310130%2freplace-content-after-do-a-query%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Your query makes no reference to equalling 0. What are you trying to do? Where is this going in your query?
– fubar
Nov 14 '18 at 23:21
like to change '0' to NULL result
– Guif If
Nov 14 '18 at 23:28