 
			
				08.03.2019, 12:49
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.03.2019 
					
					
					
						Сообщений: 7
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Как узнать количество строк в таблице Mysql на Javascript
			 
			
		
		
		
		Написал данный код, который достаёт из моей таблицы SQL все строки, в которых direction = 1 
const sqlite3 =  require('sqlite3').verbose();
 
// open the database
let db = new sqlite3.Database('crdxims.db3');
 
let sql = `SELECT id id,
                  direction direction
           FROM ACS_EVENT
           WHERE direction =  ?`;
let direction = 1
// first row only
db.each(sql, [direction], (err,  row)  => {
  if (err) {
    return console.error(err.message);
  }
   return row
    ? console.log(row.id, row.direction)
    : console.log('No {id}');
 
});
// close the database connection
db.close( );
Мне надо, чтобы выводились не все строки, а количество этих самых строк с direction = 1. Как это можно сделать?   
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2019, 13:09
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от werter1995
			
		
	 | 
 
	| 
		Как это можно сделать?
	 | 
 
	
 
 Запрашивать требуемое:
 
SELECT COUNT(*) AS total FROM asc_event WHERE direction =  ?
 
И sqlite, это не MySQL.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2019, 13:23
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.03.2019 
					
					
					
						Сообщений: 7
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	
		Запрашивать требуемое: 
 
SELECT COUNT(*) AS total FROM asc_event WHERE direction =  ? 
 
И sqlite, это не MySQL.
	 | 
 
	
 
 Да, sqlite, затупил.
 
Так?
 
const sqlite3 =  require('sqlite3').verbose();
 
// open the database
let db = new sqlite3.Database('crdxims.db3');
 
let sql = `SELECT id id,
                  direction direction
           FROM ACS_EVENT
           WHERE direction =  ?`
let direction = 1
let sum = `SELECT COUNT(*) AS total FROM asc_event WHERE direction = ?`
// first row only
db.each(sql, [sum], (err,  row)  => {
  if (err) {
    return console.error(err.message);
  }
   return row
    ? console.log(row.sum)
    : console.log('No {sum}');
 
});
// close the database connection
db.close( );
Если так, то при запросе через Node.js количество строк не указывает, выводит просто пустую строку.
  .
 
Если нет, то простите, туплю. Как тогда?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2019, 13:33
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я не знаю Node.js, чего там и как я сказать не могу, но если вам нужно узнать только количество записей в таблице, то зачем вы получаете сами записи? Получить количество записей, это COUNT(*) AS алиас, и после запроса и выводите алиас, который и будет содержать количество записей в таблице. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2019, 13:46
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.03.2019 
					
					
					
						Сообщений: 7
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		Я не знаю Node.js, чего там и как я сказать не могу, но если вам нужно узнать только количество записей в таблице, то зачем вы получаете сами записи? Получить количество записей, это COUNT(*) AS алиас, и после запроса и выводите алиас, который и будет содержать количество записей в таблице.
	 | 
 
	
 
 При вот таком коде:
 
const sqlite3 =  require('sqlite3').verbose();
 
// open the database
let db = new sqlite3.Database('crdxims.db3');
let sql = `SELECT COUNT(*) AS total FROM ACS_EVENT WHERE direction = ?`
// first row only
db.each(sql, [total], (err,  row)  => {
  if (err) {
    return console.error(err.message);
  }
   return row
    ? console.log(row.total)
    : console.log('No {total}');
 
});
// close the database connection
db.close( );
Выводит:
  
То есть модификатор не объявлен. 
Если объявить его строчкой 
 
let total
 
То выводит число 0.
 
Что конкретно нужно сделать, чтобы модификатор был объявлен?  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось werter1995, 08.03.2019 в 13:49.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2019, 13:50
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.03.2019 
					
					
					
						Сообщений: 7
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от werter1995
			 
		
	 | 
 
	
		При вот таком коде: 
const sqlite3 =  require('sqlite3').verbose();
 
// open the database
let db = new sqlite3.Database('crdxims.db3');
let sql = `SELECT COUNT(*) AS total FROM ACS_EVENT WHERE direction = ?`
// first row only
db.each(sql, [total], (err,  row)  => {
  if (err) {
    return console.error(err.message);
  }
   return row
    ? console.log(row.total)
    : console.log('No {total}');
 
});
// close the database connection
db.close( );
 
Выводит: 
  
То есть модификатор не объявлен. 
Если объявить его строчкой  
let total
  
То выводит число 0. 
 
Что конкретно нужно сделать, чтобы модификатор был объявлен?
	 | 
 
	
 
 Блин, мой тупняк. Нашёл.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |