get mysql count do id no shell script

3

Estou tentando obter a contagem da coluna user_Id usando count(user_Id) de mysql da seguinte forma:

 count=$(mysql -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

Eu não estou entendendo o que está errado com isso. Eu quero o resultado numérico . O que poderia me ajudar?

    
por Asmita 16.11.2015 / 13:39

1 resposta

4

Seu comando:

count=$(mysql -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

Provavelmente buscará algo como:

+---------------+
| count(userid) |
+---------------+
|             5 |
+---------------+

Porque essa é a saída padrão de uma consulta mysql .

Para suprimir os nomes de cabeçalho e coluna, você deve incluir as opções -s (silent) e -N (ignorar os nomes das colunas)

Dessa forma, o comando mysql só retorna o 5 (baseado na minha saída), que será armazenado na variável usando:

count=$(mysql -s -N -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

Tente escrever o valor da sua variável count em um terminal usando:

echo "$count"

Se ele retornar apenas um 5 (novamente, com base na minha saída), você poderá usá-lo como um valor numérico em expressões e cálculos de teste.

    
por 16.11.2015 / 13:51