AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-28454

Adrian George's questions

Martin Hope
Adrian George
Asked: 2020-05-20 01:55:11 +0800 CST

Selecione linhas com várias condições AND que se sobrepõem

  • 0

Tenho o seguinte esquema de tabela:

book_id    |   attribute_id    |    attribute_value
____________________________________________________

1          |        35         |         Sci-Fi
2          |        35         |         Drama
3          |        35         |         Thriller
4          |        35         |         Romance
1          |        36         |         Author1
2          |        36         |         Author2
3          |        36         |         Author3
4          |        36         |         Author4
1          |        37         |         $300
2          |        37         |         $100
3          |        37         |         $600
4          |        37         |         $700

Tentei buscar resultados com várias condições, como na consulta abaixo, da tabela 'livros'

SELECT book_id FROM books WHERE attribute_id = 35 AND attribute_value IN ('Drama', 'Thriller') AND attribute_id = 36 AND attribute_value IN ('Author2')

Eu sei que isso não está funcionando porque não posso ter várias condições AND na mesma coluna. Eu estava procurando a seguinte saída da consulta acima

book_id  |
-------- |
   2     |

Tentei usar UNION e separar a consulta em 2 consultas diferentes:

SELECT book_id FROM books WHERE attribute_id = 35 AND attribute_value IN ('Drama', 'Thriller')
UNION
SELECT book_id FROM books WHERE attribute_id = 36 AND attribute_value IN ('Author2')

Mas obviamente isso está retornando os mesmos resultados usando a consulta abaixo (substituindo AND por OR

SELECT book_id FROM books WHERE (attribute_id = 35 AND attribute_value IN ('Drama', 'Thriller')) OR (attribute_id = 36 AND attribute_value IN ('Author2'))

Tentei INNER JOIING na mesa nessas condições e não tive sucesso. Não tenho certeza do que estou perdendo. Estou procurando uma solução que funcione com mais atributos não apenas 2 (35,36). Alguma ideia?

mysql
  • 1 respostas
  • 30 Views
Martin Hope
Adrian George
Asked: 2014-07-21 13:38:28 +0800 CST

Construindo uma consulta programaticamente

  • 0

Eu tenho três variáveis ​​$color, $size e $category. Cada um deles pode ser um valor específico ou pode se referir a todas as entradas. Desejo buscar todos os produtos que são $color = "red", $size = "Medium" e qualquer categoria OU qualquer cor, qualquer tamanho e $category = " Camisetas". Eu posso fazer isso usando if/elseif ou switch e tratar todos os casos, mas isso significa 12 casos + aquele com qualquer cor, qualquer tamanho e qualquer categoria, então 13 casos no total.

Isso é possível no mySql ??

Exemplo de consulta

SELECT
*
WHERE color = $color AND size = $size AND category = $category
mysql
  • 1 respostas
  • 46 Views
Martin Hope
Adrian George
Asked: 2013-12-23 13:22:40 +0800 CST

CONSULTE REGISTROS DENTRO DE 48 horas

  • 2

Estou armazenando alguns dados em um banco de dados mysql como este:

ID     |   DATE      |  INFO
-----------------------------
1      | 1389384821  |  blabla
2      | 1389384821  |  blabla2
3      | 1389384821  |  blabla3

DATE é um timestamp gerado antes de adicioná-lo ao banco de dados usando a função time() em PHP

Quero pegar todos os dados dessa tabela que foram adicionados nas últimas 24 horas, ou 48 horas, 30 dias...

eu tentei

SELECT
info
FROM table
WHERE date > (LOCALTIMESTAMP() - 86400)

Em vez de LOCALTIMESTAMP(), também tentei CURDATE().

Onde está o meu erro?

Eu não sou um especialista em SQL, então isso pode parecer uma pergunta boba.


WHERE data > (UNIX_TIMESTAMP(NOW()) - 86400) ?? Esta é uma boa solução?

mysql datetime
  • 1 respostas
  • 28320 Views
Martin Hope
Adrian George
Asked: 2013-10-15 10:01:44 +0800 CST

CLASSIFICAR, ORDENAR por número

  • 0

Eu tenho a seguinte tabela:

ID     Name    Items
------------------------------------- 
1      John    7
2      Peter   533
3      Chang   13
4      Mike    9100

Eu quero ordená-lo por itens. Usei ORDER BY items ASC, mas retorna:

ID     Name    Items
------------------------------------- 
3      Chang   13
2      Peter   533
1      John    7
4      Mike    9100

Eu quero retornar:

ID     Name    Items
------------------------------------- 
1      John    7
3      Chang   13
2      Peter   533
4      Mike    9100

Eu acho que isso pode ser uma pergunta boba, mas eu realmente não tenho nenhuma ideia sobre como resolver isso.

Obrigado.

mysql
  • 2 respostas
  • 128 Views
Martin Hope
Adrian George
Asked: 2013-09-20 00:46:37 +0800 CST

Corrigindo uma consulta MySQL que conta incorretamente os casos em que a contagem é 0

  • 2

Tenho o seguinte código SQL:

SELECT widgets.campaign_name, widgets.enddate, widgets.active,
       widgets.id_widget,COUNT(*) AS entries
  FROM widgets
  LEFT JOIN entries ON widgets.id_widget = entries.id_widget
  WHERE widgets.active IN ( 0 )
    AND id_user = 8
  GROUP BY widgets.campaign_name

Ele faz exatamente o que eu quero fazer além de uma coisa. Se eu tiver 0 entradas em uma campanha, ela ainda mostrará 1 entrada. Quero me livrar desse problema e fazer com que conte exatamente quantas entradas existem. Se 0, deve exibir 0.

O código acima funciona bem para 1,2....n entradas.

mysql
  • 1 respostas
  • 104 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve